我正在使用 ColdFusion 8 和 jQuery。
我有一个使用大量 ajax 的页面。单击页面上的按钮时,会将一些数据发送到 CFC 以检索数据。数据检索需要会话变量。如果页面已经闲置了一段时间并且会话已经结束,则页面会产生错误。用户可以单击他想要的所有内容,但不会看到错误,因为它在 ajax 的幕后。Firebug 告诉我会话变量不再存在。这是错误:
Element USERINFO.CATALOG_ID is undefined in SESSION.
在我的 CFC 顶部,我将内容从 APPLICATION 和 SESSION 范围移动到 VARIABLES 范围,如下所示:
<cfcomponent>
<cfscript>
// DEFAULT DATASOURCE
VARIABLES.DS = APPLICATION.Datasource;
// SET CATALOG AND MARKET
VARIABLES.Catalog_ID = SESSION.UserInfo.Catalog_ID;
VARIABLES.CatalogType = THIS.getCatalogType(VARIABLES.Catalog_ID);
</cfscript>
<cffunction name='SomeFunction>
</cffunction>
<cfcomponent>
什么是测试会话是否仍然处于活动状态的好方法,如果没有,则向页面返回一些内容,指示它刷新自身从而重新启动此会话?