是否有可能判斷jQuery ajax請求是否持續了一定時間以上?我想提醒我的網站的用戶,如果請求已經持續10秒來重新加載並重試,但我無法在文檔中找到任何符合我的請求的內容。如何檢測jquery ajax請求是否已持續超過5秒
0
A
回答
1
設置超時,然後在ajax調用完成後取消它。
var timer = setTimeout(function() {
alert('Too long!');
}, 10000);
$.getJSON(url, function() {
clearTimeout(timer);
});
5
嘗試設置超時屬性並獲取錯誤處理程序參數。可能的值是
"timeout", "error", "abort", and "parsererror"
$.ajax({
url: "/ajax_json_echo/",
type: "GET",
dataType: "json",
timeout: 1000,
success: function(response) { alert(response); },
error: function(x, t, m) {
if(t==="timeout") {
alert("got timeout");
} else {
alert(t);
}
}
});
2
所以對於網站中的所有Ajax請求......你應該做這樣的事情...
$.ajaxSetup({
beforeSend: function(jqXHR, settings){
/* Generate a timer for the request */
jqXHR.timer = setTimeout(function(){
/* Ask the user to confirm */
if(confirm(settings.url + ' is taking too long. Cancel request?')){
jqXHR.abort();
}
}, 10000);
}
});
+0
是把這個嗎? – ben
+0
只需確保它在加載頁面的請求時運行。像這樣$(function(){/ * paste code here * /}) –
+0
美麗的解決方案,謝謝! – tedwards947
相關問題
- 1. 如何持續檢測焦點是否已設定? (Javascript,jQuery)
- 2. 由jquery檢測ajax請求
- 3. 如何檢測Activity上的5秒持續觸摸事件?
- 4. Rails檢測請求是否爲AJAX
- 5. 如何檢測jquery的ajax請求超時錯誤
- 6. 如何通過AJAX請求檢測會話超時?
- 7. 確定是否已經過去5秒
- 8. 如何檢測請求是否來自AJAX AJAX
- 9. 請求超時增加超過30秒?
- 10. Dart如何檢查請求是否是ajax請求
- 11. jQuery - 如何檢查值是否超過4500毫秒?
- 12. jQuery的:如何檢測通過一個Ajax請求
- 13. 120秒後Chrome超時Ajax請求?
- 14. 檢測Ajax請求
- 15. 檢測AJAX請求
- 16. 如何檢查是否已經使用Jquery發送了ajax請求?
- 17. AJAX(XMLHttpRequest)請求是否有超時?
- 18. jquery:如何檢查頁面是否正在執行ajax請求?
- 19. 獲取AJAX請求持續時間
- 20. 如何知道請求是否通過jQuery $ .ajax()
- 21. 用jquery超時Ajax請求?
- 22. 如何檢測ajax請求上的php服務器超時
- 23. 連續AJAX請求
- 24. 如何檢測幾個AJAX請求已完成或失敗?
- 25. 檢查是否Ajax請求是空
- 26. 如何通過重定向檢測頁面是否被請求?
- 27. PhoneGap是否支持HTTPS ajax請求?
- 28. 檢測如果請求是在jQuery的
- 29. 檢測Ajax成功函數的時間超過5秒,並重定向
- 30. JAVA:如何中斷,如果它持續超過1秒
@Murali設置短超時將使整個請求失敗。問題只是測量一個特定的請求正在運行的時間,而不是取消它 –
https://developer.mozilla.org/en/docs/Web/API/window.setTimeout –
你想讓這個只有一個ajax請求或任何ajax請求?作爲您網站上的「常見禮節」。 –