2016-09-20 16 views
0

私は、Webユーザが営業担当者と話すためのオンラインチャットプログラムを作成しようとしています。私はajax jqueryコマンドを使ってチャットをリフレッシュします。これはデータベースに保存されています。私が実行している問題は、ajax呼び出しでユーザーを識別するセッション変数が失われていることですが、これは一部のユーザーにのみ行われるようです。私が紛失している寒冷化のためのいくつかの設定はありますか?ajaxでセッション変数をcoldfusionに渡す9

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位だけで、ユーザーが自分の名前を提供し、私は彼らにユーザーIDを割り当てる(データベースの挿入からである。

ドメインは1つだけのセッションを使用して、何のクロスドメインの呼び出しはありません。

+1

ここで 'new_session.UserID'を取得していて、新しいセッションスコープを設定するのはなぜですか? – TRose

+2

** CF管理者の 'SERVER SETTINGS'>'メモリ変数 'から** J2EEセッション**を試してみてください – RRK

+1

セッションを失ったクライアントは正常に動作していますか?彼らはすべて同じドメインを使用しているのですか、複数のドメインがこのアプリにヒットしていますか? –

答えて

0

セッション変数の有効期限が切れているため、使用できるようになる前に利用可能かどうかを確認する必要があります。messages.cfmファイルでは、有効なセッションがまだあるかどうかをチェックし、有効なセッションがある場合は、メッセージを更新できます。

関連する問題