2013-10-11 117 views
6

我有Ajax request更新客戶端頁面,如果有任何新的數據可用於server.I已設置連接'keep-Alive'因此,這裏我不是每次調用新的Ajax調用更新的數據。我有回調,如果有任何記錄可用,更新頁面。Ajax請求頭保持活動

以下是我的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

存儲(本地和全局)不可以通過服務器轉移。通過使用cookie機制來簡化調試,'document.cookie'字符串也將被傳輸到服務器,如果你在服務器端進行tcp轉儲,你可以做一個完整的理智測試,再加上你仍然可以看到你的瀏覽器.. – 2015-10-14 10:10:46