我有一个非常简单的 ajax 请求:
$.get(url, data)
.done(function () { })
.fail(function () { })
如果在 处有错误url
,它将返回一个状态码,例如“500”。显然,jQuery 在这一点上考虑了它对jqxhr
对象的承诺,因为它将执行.done
而不是.fail
. 我的问题是双重的:
默认情况下,.fail
关于 ajax 的触发时间是什么时候,有没有办法改变这个默认值?
其次,对错误请求进行特殊处理的唯一方法似乎是:
.done(function (msg, tm, jqxhr) {
if (jqxhr.status < 200 || jqxhr.status >= 300) performFailure();
});
有没有更好的方法来查找和处理被认为“不好”的响应?