1
在jQuery.ajax中,我們有設置超時(以毫秒爲單位)的祝福,以及用於處理超時的錯誤回調。使用JavaScript/jQuery和AJAX的假超時觸發器
但是,有些人只是在慢速連接,有一點耐心。我想要做的只是顯示一條消息,說明「這比平時花費更多時間」。
在jQuery超時爭論不會滿足這一點,和setTimeout()做完全相同的事情。如何通過簡單的時間檢查來實現?
在jQuery.ajax中,我們有設置超時(以毫秒爲單位)的祝福,以及用於處理超時的錯誤回調。使用JavaScript/jQuery和AJAX的假超時觸發器
但是,有些人只是在慢速連接,有一點耐心。我想要做的只是顯示一條消息,說明「這比平時花費更多時間」。
在jQuery超時爭論不會滿足這一點,和setTimeout()做完全相同的事情。如何通過簡單的時間檢查來實現?
好的,這很簡單。
我所需要做的就是建立一個獨立的Timout,裏面有一個函數來顯示我需要的任何消息。
您仍然可以在超長時間內保持超時/錯誤回調。
var timeout = true;
timeout = setTimeout(function() {
if (timeout) {
$("#zendesk-dropbox-error").html("Contacting the Helpdesk is taking longer than usual, try submitting manually?");
}
}, 9000);
// Call for a JSON return from the PHP script
$.ajax({ type: 'GET', url: http://www.example.com, dataType: 'json', cache: false, data: ({ a: 'b' }), timeout: 60000,
success: function(zendesk){
timeout = false;
// Code
},error: function(objAJAXRequest, strError) {
// Code
}
});
這僅適用於一個Ajax請求而不是智能手機,其中一些要求是緩慢的,有些是快...我想你想比這更準確.. – jantimon 2009-10-13 06:49:24
這很好,因爲它贏得了」無法用於智能手機 - 它是智能手機無法處理的更大型應用程序的一部分。這是一個孤立的,模塊化的AJAX請求,因此將是唯一運行的。 – jakeisonline 2009-10-13 07:32:37