Jquery 是否有必要在AJAX超时时中止?
我有一个ajax GET请求,超时2秒。如果请求超时,我不希望请求仍然挂在那里。在2秒钟的时候,我只想停止一切 我想知道如果已经达到超时,是否有必要调用Jquery 是否有必要在AJAX超时时中止?,jquery,Jquery,我有一个ajax GET请求,超时2秒。如果请求超时,我不希望请求仍然挂在那里。在2秒钟的时候,我只想停止一切 我想知道如果已经达到超时,是否有必要调用abort(),或者达到超时阈值是否会自动中止一切 request = $.ajax({ type: 'GET', url: url, timeout: 2000, success: function (data) {
abort()
,或者达到超时阈值是否会自动中止一切
request = $.ajax({
type: 'GET',
url: url,
timeout: 2000,
success: function (data) {
// do some stuff
},
error: function(x, t, m) {
if(t==="timeout") {
request.abort(); // is this necessary?
// do some other stuff
} // end if timeout
} // end error function
}); // end ajax
不,没有必要。在内部,当达到超时时,jQuery将为您中止XHR 如果选中,则可以看到此操作:
// Timeout
if (s.async && s.timeout > 0) {
timeoutTimer = setTimeout(function () {
jqXHR.abort("timeout");
},
s.timeout);
}
不,没有必要中止,当达到超时时,请求将被取消。如果jQuery没有为您这样做,它将做得非常糟糕。谢谢,我只是想确定一下。我在任何地方都找不到确切的答案。