我有一个非常简单的ajax请求:
$.get(url, data)
.done(function () { })
.fail(function () { })
如果在
url
上出现错误,它将返回一个状态码,例如"500"。显然,jQuery在这一点上考虑了jqxhr
对象的承诺,因为它将执行.done
而不是.fail
。我的问题有两个方面:首先,默认情况下,ajax何时触发
.fail
?是否有任何方法可以更改此默认设置?其次,处理坏请求的唯一方法似乎是类似于以下内容的特殊处理:
.done(function (msg, tm, jqxhr) {
if (jqxhr.status < 200 || jqxhr.status >= 300) performFailure();
});
有没有更好的方法来查找和处理被视为“不良”的响应?
error
(或.fail()
)甚至都没有被调用,但这并不是 jQuery 的问题。请看我的答案。 - Explosion Pills.fail()
,但它没有起作用;我没有想到两个服务器之间发送的状态码会有所不同。 - Explosion Pills