我有一个用于登录的 ColdFusion 页面。登录按钮的单击由 JQuery 函数处理。身份验证本身是假的,并且发生在函数本身内部。成功后,我将另一个 ColdFusion 页面中的内容加载到第一页中。我可以通过 JQuery 在 ColdFusion session 中以任何方式设置变量吗?
最佳答案
从最严格的意义上来说,不,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>
关于jquery - 我可以在 JQuery 中访问 ColdFusion session 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14511256/