我有一个AJAX调用来检索JSON格式的一些数据。我希望将这些数据用于某些事情。但是,如果没有数据,我想要其他事情发生。我有这个功能,它完全符合我的要求:
var config = {
type: "GET",
url: /my/url/,
success: function(context) { do_something(context); },
error: function(xhr,ajaxOptions, thrownError) { if (xhr.status == 404){do_something_else()}}
};
$.ajax(config);
然而,在控制台中我仍然得到:
404 NOT FOUND
如何忽略/捕获该错误,我认为这是使用error:...
行完成的?
修改
我试过这个
var config = {
type: "GET",
url: /my/url/
}
$.ajax(config);
$( document ).ajaxComplete(function( event, xhr, settings ) {
if (settings.url === /my/url/){
if (xhr.status == 404){
do_something_else();
}
else if (xhr.status == 200){
do_something();
}
}
});
答案 0 :(得分:0)
忽略HTTP响应代码并在jQuery ajax调用中将属性success
更改为complete
,以便在请求完成时执行处理程序,无论服务器响应如何。您知道服务器响应(它始终有效)。 HTML应该仍然可以在jQuery完整处理程序中使用。