Jquery ajax超时回调函数
如果jQuery的$.ajax函数在超时时运行,有没有办法运行该函数 i、 e 有关更多信息,请查看jQuery文档:Jquery ajax超时回调函数,jquery,ajax,Jquery,Ajax,如果jQuery的$.ajax函数在超时时运行,有没有办法运行该函数 i、 e 有关更多信息,请查看jQuery文档: 已编辑 我最初回答这个问题已经有一年多了,textStatus可能的值已更改为“success”、“notmodified”、“error”、“timeout”、“abort”、或“parserror”。对于错误回调,只能使用最后四种状态 您现在还可以通过返回的JQuery延迟承诺对象的.fail方法连接错误处理程序: var promise = $.ajax({ time
已编辑 我最初回答这个问题已经有一年多了,
textStatus
可能的值已更改为“success”、“notmodified”、“error”、“timeout”、“abort”、
或“parserror”
。对于错误回调,只能使用最后四种状态
您现在还可以通过返回的JQuery延迟承诺对象的.fail
方法连接错误处理程序:
var promise = $.ajax({ timeout: 1000 });
promise.fail(function(jqXHR, textStatus) {
if(textStatus==="timeout") {
// handle timeout
}
});
通常,好的答案会被解释,而不仅仅是删除一段代码。@Paulpro我不同意。除了有时等于“timeout”的字符串之外,没有解释传递给error函数的内容。值得一提的是:“超时时间从发出$.ajax调用的点开始;如果有几个其他请求正在进行,并且浏览器没有可用的连接,则请求可能在发送之前超时。”在这种情况下,只调用
complete
处理程序:无论success
还是error
处理程序似乎都没有运行。可能是您想要的:
$.ajax({
...
timeout: 1000,
error: function(jqXHR, textStatus, errorThrown) {
if(textStatus==="timeout") {
//do something on timeout
}
}
});
var promise = $.ajax({ timeout: 1000 });
promise.fail(function(jqXHR, textStatus) {
if(textStatus==="timeout") {
// handle timeout
}
});