當點擊刷新按鈕時是否可以停止頁面上發生的所有請求/腳本?
我有一個花費幾分鐘的$ .ajax請求。我試圖在卸載事件中執行window.stop()。我試過xhr = $ .ajax(...);和xhr.abort();以及在互聯網上找到的任何其他方法,並且沒有任何效果
這可能嗎?爲什麼瀏覽器仍然等待該請求完成併發迴響應而不刷新頁面?
以後編輯(解決):似乎等待的問題其實是從服務器。如果在ajax調用中,腳本使用SESSION,則網頁將凍結,直到請求完成,即使我們中止xhr。
這是爲什麼?說明:
會話數據通常在腳本終止後存儲,無需調用session_write_close(),但由於會話數據被鎖定以防止併發寫入,因此只有一個腳本可以隨時在會話上運行。將幀集與會話一起使用時,由於此鎖定,您將體驗逐幀加載的幀。只要完成對會話變量的所有更改,就可以通過結束會話來縮短加載所有幀所需的時間。
停止瀏覽器請求
停止瀏覽器請求
回答
也許嘗試在刷新之前立即取消,如here?
window.onbeforeunload = function(event) {
xhr.abort();
};
OP說他已經叫'abort()' –
對不起,那沒用。我已經試過 – roshkattu
事實上,這解決了_abort_問題。這裏是_xhr.abort(); _ result'XHR BEFORE ABORT:scripts.js:497 Object {readyState:1} scripts.js:498 XHR AFTER ABORT:scripts.js:500 Object {readyState:0 ,status:0,statusText:「abort」} '但頁面仍然等待XHR完成,然後重新加載..似乎它是一個服務器問題...... Slaks告訴我在上面的評論 – roshkattu
- 1. PHP:阻止瀏覽器請求
- 2. 停止瀏覽器請求保存密碼
- 3. HTTP請求的瀏覽器
- 4. 取消請求瀏覽器
- 5. 停止服務器請求
- 6. 停止請求+++++++++
- 7. 請求模塊,當瀏覽器取消時如何停止流式傳輸
- 8. 如何讓客戶端瀏覽器停止請求過期的會話ID?
- 9. 如何通過ajax請求加載JSON時停止鎖定瀏覽器?
- 10. 當使用Nginx提供靜態文件時,瀏覽器停止請求
- 11. Ruby/CGI:如何檢測瀏覽器是否請求「停止」操作並忽略請求
- 12. 停止從WPF web瀏覽器控件
- 13. 停止Android瀏覽器被刷新
- 14. WP7 web瀏覽器 - 停止渲染
- 15. 從selenium webdriver停止瀏覽器加載
- 16. 停止web瀏覽器開始在C#
- 17. 停止加載URL的Android瀏覽器
- 18. CrystalReports在瀏覽器中停止工作
- 19. 停止網絡瀏覽器緩存
- 20. 停止在瀏覽器開發工具
- 21. 如何停止瀏覽器的熱鍵?
- 22. 我可以安全阻止Dalvik瀏覽器代理請求嗎?
- 23. 移動瀏覽器將自動GET請求,終止POST響應
- 24. ClickOnce,WebService「請求失敗,HTTP狀態403:禁止。」 IE瀏覽器
- 25. IIS如何阻止來自瀏覽器的http請求
- 26. Mootools:發送請求時如何阻止瀏覽器凍結
- 27. 多個ipcam請求可以阻止瀏覽器?
- 28. 爲什麼瀏覽器阻止特定的Ajax請求?
- 29. 如何阻止非瀏覽器客戶端提交請求?
- 30. 如何防止瀏覽器請求資產來自ajax響應
如果你有一個Ajax請求採取多分鐘,你做錯了什麼已經有... – s1lence
瀏覽器不會等待現有的AJAX請求。您的_server_可能正在等待(例如,對於會話) – SLaks
調用'.abort'應該停止XHR等待響應。你看到什麼讓你說它不起作用? –