糟糕的状态代码,我有一个非常简单的Ajax请求:jQuery的:清洁处理从阿贾克斯
$.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();
});
有没有发现和处理,将被认为是响应一个更好的办法
'.fail'和'.error'是jqxhr对象的相同方法,我正在使用它。执行'.done'(与'.success'相同),无论状态码如何。这似乎对我是有意的。顺便说一下,我使用jQuery 1.7 – 2012-04-06 19:44:53
我并不是建议使用.error和.fail。我指出错误代码默默失败。在我的答案中看到斜体文字。你需要让你的脚本调用.ajaxError()来登陆错误/失败块。 – veeTrain 2012-04-06 19:50:04
这是不正确的 – 2012-04-06 19:52:18