如果 jQuery 的 $.ajax 函数达到超时
,有没有办法运行函数?
即
$.ajax({
...
...
,timeout:1000(){do something if timeout)
...
});
最佳答案
$.ajax({
...
timeout: 1000,
error: function(jqXHR, textStatus, errorThrown) {
if(textStatus==="timeout") {
//do something on timeout
}
}
});
有关更多信息,请查看 jQuery 文档:
http://api.jquery.com/jQuery.ajax/
<小时/>已编辑
自从我最初回答这个问题以来已经一年多了,textStatus
可能的值已更改为“成功”,“未修改”,“错误”,“超时”,“中止” ,
或“解析器错误”
。对于错误回调,只有最后四种状态是可能的。
您现在还可以通过返回的 JQuery 延迟 promise 对象的 .fail
方法连接错误处理程序:
var promise = $.ajax({ timeout: 1000 });
promise.fail(function(jqXHR, textStatus) {
if(textStatus==="timeout") {
// handle timeout
}
});
关于jquery - ajax超时回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533360/