如果jQuery的$ .ajax函数命中timeout
,有没有办法运行函数?
即
$.ajax({
...
...
,timeout:1000(){do something if timeout)
...
});
答案 0 :(得分:42)
$.ajax({
...
timeout: 1000,
error: function(jqXHR, textStatus, errorThrown) {
if(textStatus==="timeout") {
//do something on timeout
}
}
});
有关更多信息,请查看jQuery文档:
http://api.jquery.com/jQuery.ajax/
<强>被修改强>
自我最初回答此问题以来已经过了一年多,textStatus
可能的值已更改为"success", "notmodified", "error", "timeout", "abort",
或"parsererror"
。对于错误回调,只能使用最后四种状态。
此外,您现在可以通过返回的JQuery延迟保证对象的.fail
方法连接错误处理程序:
var promise = $.ajax({ timeout: 1000 });
promise.fail(function(jqXHR, textStatus) {
if(textStatus==="timeout") {
// handle timeout
}
});