我有一些(可能)長期運行的ajax調用,如果用戶導航到另一個頁面,我想中止。在導航離開該頁面下面的jQuery代碼調用的所有未決的XMLHttpRequest對象中止:瀏覽器等待ajax調用完成,即使中止已被調用(jQuery)
$.ajaxSetup({
beforeSend: function(xhr) {
$(window).bind('beforeunload', function() {
xhr.abort();
});
}
});
在測試情況下,我強迫在服務器端運行一個10秒的等待被調用。使用Firebug,我確認上述代碼確實會導致所有掛起的Ajax調用立即停止,當我點擊頁面上的任何鏈接時。但是,瀏覽器仍然等待整整10秒鐘,然後再進入下一頁。 IE似乎表現出相同的行爲。這是一個已知的瀏覽器行爲?在這種情況下,我能做些什麼讓用戶立即離開頁面?提前致謝。
Ajax調用是什麼樣的? – epascarello 2009-06-02 22:53:20