我有以下代码,我正在使用JSONP从站点检索JSON。我想处理像404错误请求的错误代码。以下对我不起作用。
$.getJSON('https://xyz.com/search?jsonp-callback=?', function(data) {
alert("success");
})
.success(function() { alert("success 2"); })
.error(function() { alert("error occurred "); })
.complete(function() { alert("Done"); });
成功和完整的方法正在运行,但错误方法不起作用。
答案 0 :(得分:5)
尝试使用fail
代替error
(请参阅Deferred doc)。
答案 1 :(得分:4)
$.getJSON('https://xyz.com/search?jsonp-callback=?', function(data) {
alert("success");
})
.success(function() { alert("success 2"); })
.error(function(event, jqxhr, exception) {
if (jqxhr.status == 404) {
alert("error occurred ");
}
})
.complete(function() { alert("Done"); });
以上代码可能会对您有所帮助。
答案 2 :(得分:1)
这个主题有答案:https://stackoverflow.com/a/14371049/685925
由于您正在使用JSONP,因此不会调用jQuery创建的回调,因此永远不会调用失败回调。这是JSONP的正常行为,唉。