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