【发布时间】:2010-12-05 23:29:21
【问题描述】:
在 jQuery.ajax 中,我们有幸以毫秒为单位设置超时,并有一个错误回调来处理该超时。
但是,有些人只是连接缓慢,耐心不足。我想要做的只是显示一条消息,说明“这比平时花费的时间更长”。
jQuery 中的 Timeout 论证不能满足这一点,而 setTimeout() 的作用完全相同。如何通过简单的时间检查来实现这一点?
【问题讨论】:
标签: javascript jquery ajax timeout
在 jQuery.ajax 中,我们有幸以毫秒为单位设置超时,并有一个错误回调来处理该超时。
但是,有些人只是连接缓慢,耐心不足。我想要做的只是显示一条消息,说明“这比平时花费的时间更长”。
jQuery 中的 Timeout 论证不能满足这一点,而 setTimeout() 的作用完全相同。如何通过简单的时间检查来实现这一点?
【问题讨论】:
标签: javascript jquery ajax timeout
好的,这很简单。
我需要做的只是设置一个独立的 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
}
});
【讨论】: