2013-10-11 31 views
6

サーバに新しいデータがある場合は、クライアントのページを更新するのにAjax requestがあります。接続が'keep-Alive'に設定されているので、更新されたデータを確認するたびに新しいAjaxを呼び出しません。私はレコードが利用可能な場合、ページを更新するコールバックを持っています。Ajax Request header keep alive

以下は私のAjax Requestです。

xmlRequest.open("post", url, true); 
xmlRequest.setRequestHeader("Connection", "Keep-Alive"); 
xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); 
xmlRequest.send(some data); 

これは問題なく動作しますが、ユーザーがブラウザをリフレッシュすると、Ajaxはサーバーから更新されたデータを取得しません。

私の考え方は、接続タイプ"keep-Alive"の仕組みについてはあまり明確ではありません。ユーザーがブラウザをリフレッシュした後、Ajax接続がサーバーに失われたため、Ajaxはリストを停止したようです。

私はブラウザがページを更新するたびに新しい呼び出しを行うことでこれを解決できることを知っています。しかし、ここで私はそれが本当にAjax keep-Aliveブラウザの更新時に接続を失うか理解したい。

答えて

0

通常、JavaScriptの環境はページリセット時にクリアされますが、window.localStorageを使用すると、更新を継続してxmlRequest変数を維持できます。これで、クライアント+サーバー側を一緒にテストして、接続を再初期化する必要があるかどうかを確認する必要があります。

+0

ストレージ(ローカルおよびグローバル)はサーバー転送できません。代わりに 'document.cookie'文字列もサーバに転送されます。サーバー側でtcp-dumpすると完全な健全性テストを行うことができます。ブラウザ.. –