在 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
}
});
关于javascript - 使用 JavaScript/jQuery 和 AJAX 模拟超时触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1554383/