使用coldfusion 9在ajax中传递会话变量

时间:2016-09-20 20:06:00

标签: session coldfusion

我正在尝试为我的网络用户创建一个在线聊天程序,以便与销售人员进行实时对话。我使用ajax jquery命令刷新存储在数据库中的聊天。我遇到的问题是它丢失了在ajax调用上标识用户的会话变量,但它似乎只对某些用户执行此操作。我缺少一些冷血设置吗?

我的CF管理员中是否应该设置任何特定设置?

<cfapplication name="Chat Room"
           clientmanagement="Yes"
           sessionmanagement="Yes"
           sessiontimeout="#CreateTimeSpan(0,1,0,0)#" >

<cfset session.UserID = #new_session.UserID# >


 window.onload = function() 
     {
        setInterval("ReloadChatWindow();", 2500);
     }; 

function ReloadChatWindow()
    { 
        $.ajax({url: "messages.cfm", success: function(result){
            $("#ChatLog").html(result);
        }});

        $("#ChatLog").scrollTop($("#ChatLog")[0].scrollHeight);
    }

new_session.UserID#仅来自数据库插入(用户提供了他们的名字,我为他们分配了userID。

只有一个域使用该会话,没有跨域调用。

1 个答案:

答案 0 :(得分:0)

会话变量到期,因此您需要先检查它们是否可用,然后才能使用它们。在messages.cfm文件中,您必须检查用户是否仍然具有有效会话,以及它是否未将其重定向到登录页面。如果他们确实有有效的会话,您可以更新消息。