我的網站上有一個長時間的聊天請求。該請求持續30秒,並在收到響應時再次被調用。Chrome - 刷新等待ajax請求的結束 - 長輪詢
當我刷新頁面(ctrl + R)時,chrome似乎要等到ajax調用結束,它可以持續高達29.99s。
我試圖綁定'unload'事件上的一個事件,但它在ajax調用結束後發送。
有沒有辦法說網絡客戶端「停止所有請求」,從而允許在幾秒鐘內正常刷新頁面。
我的網站上有一個長時間的聊天請求。該請求持續30秒,並在收到響應時再次被調用。Chrome - 刷新等待ajax請求的結束 - 長輪詢
當我刷新頁面(ctrl + R)時,chrome似乎要等到ajax調用結束,它可以持續高達29.99s。
我試圖綁定'unload'事件上的一個事件,但它在ajax調用結束後發送。
有沒有辦法說網絡客戶端「停止所有請求」,從而允許在幾秒鐘內正常刷新頁面。
您需要做的就是將您的ajax請求分配給一個變量,並在窗口onload事件中止它們。
var myAjax = $.ajax(...);
window.onunload = function(){
if(typeof myAjax!=='undefined') {
myAjax.abort();
}
}
''onunload'在ajax調用結束後觸發,正如我在文章中指定的那樣。它不起作用。 –
事實上,當完成對下一頁的請求時,不會觸發onunload。 –
其實我忘了在長輪詢請求中寫'session_write_close()'。這個問題不是由於Chrome,而是由於服務器端崩潰,直到php會話被解鎖。 –