我有一个带AJAX调用的JavaScript。它们看起来像这样:
$.ajax({
type: "GET",
data: "query_parameters",
url: "/some_uri",
error: function(data) {
error_code;
},
fail: function(data) {
error_code;
},
success: function(answ) {
success_code;
}
});
首先,这些调用仅包含 fail:定义,但是当我尝试返回错误代码(401:Unauthorized)时,未调用该代码。然而,一旦我添加错误:,它就开始工作了。我不是JavaScript专家 - 实际上更像是菜鸟 - 但我已经读过错误:现在已被弃用且失败:必须使用。这种奇怪行为的原因是什么?我的jquery是1.10.2。
答案 0 :(得分:6)
您将settings
参数中的选项与可用于类似目的的jqXHR
方法混淆。不推荐jqXHR.error()
方法支持jqXHR.fail()
。如果您想使用jqXHR
样式,请写下:
$.ajax({
type: "GET",
data: "query_parameters",
url: "/some_uri"
}).fail(function(data) {
// error code
}).done(function (answ) {
// success code
});
没有fail:
选项。这一直被称为error:
,现在仍然如此。它没有被弃用。
答案 1 :(得分:1)
使用延期。不推荐使用error
回调。您更新的代码如下所示:
$.ajax({
type: "GET",
data: "query_parameters",
url: "/some_uri",
})
.done(function(data) {
// When the request is done.
// Handle data
})
.fail(function() {
// Handle the errors
});