1

我有一个用于登录的 ColdFusion 页面。登录按钮的单击由 JQuery 函数处理。身份验证本身是假的,并且发生在函数本身内部。成功后,我将另一个 ColdFusion 页面中的内容加载到第一页中。我可以以任何方式从 JQuery 在 ColdFusion 会话中设置一个变量吗?

4

2 回答 2

6

从最严格的意义上说,不,jQuery/javaScript 不能直接访问 ColdFusion 变量,Kevin B 是正确的。但是,您可以使用 AJAX(它是 JavaScript,而不是 jQuery,尽管 jQuery 有一些方法可以简化它)将数据发送到 ColdFusion,而无需在浏览器中进行完整的往返。这样做会导致 ColdFusion根据您选择的方法在URL和范围内创建变量。FORM不幸的是,FORM变量URL仅在请求期间存在,因此您将使用 ColdFusion 设置SESSION您需要使用刚刚发送的URL或变量设置的任何变量。FORM

jQuery 有一些方法可以做到这一点。

一个非常简单的例子可能看起来像这个 jQuery:

<script>
   var myName = "Travis";
   $.get('setVariable.cfm?someVar='+myName, // Send a value to the server in the URL.
      function(data){ // tell the user what the server said (optional).
         alert(data);  //data is whatever was returned by the server.
      }
   );   
</script>

setVariable.cfm 中的 CF 代码可能看起来像

<cftry>
    <cfset session.userName = url.someVar>
    Session user was set.
    <cfcatch>
        <cfoutput>
            Oh, Crap! Something bad happened! (#cfcatch.message#)
        </cfoutput>
    </cfcatch>
</cftry>
于 2013-01-25T00:45:15.840 回答
4

不,您在客户端只能访问会话/客户端令牌 cookie。但是,您可以设置自定义 cookie 的值,然后使用 Coldfusion 访问该 cookie。

于 2013-01-24T21:41:18.910 回答