如何忽略AJAX调用中的404错误

时间:2016-06-10 20:08:07

标签: jquery ajax get

我有一个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();
        }    
      }
});

1 个答案:

答案 0 :(得分:0)

忽略HTTP响应代码并在jQuery ajax调用中将属性success更改为complete,以便在请求完成时执行处理程序,无论服务器响应如何。您知道服务器响应(它始终有效)。 HTML应该仍然可以在jQuery完整处理程序中使用。