【问题标题】:Handling 404 bad request in getJSON() jquery在 getJSON() jquery 中处理 404 错误请求
【发布时间】:2013-02-10 11:46:40
【问题描述】:

我有以下代码,我正在使用 JSONP 从站点检索 JSON。我想处理 404 bad request 之类的错误代码。以下对我不起作用。

$.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"); });

成功和完整的方法都在工作,但错误的方法不工作。

【问题讨论】:

  • 尝试在 $.ajax 中进行相同的测试..
  • @DipeshParmar 不工作。 S
  • 您使用的是哪个版本的 jQuery?
  • @JacoKoster jquery 1.8.2

标签: jquery rest jsonp


【解决方案1】:

这个帖子有答案:https://stackoverflow.com/a/14371049/685925

由于您使用的是 JSONP,因此不会调用 jQuery 创建的回调,因此永远不会调用失败回调。这是 JSONP 的正常行为,唉。

【讨论】:

    【解决方案2】:

    尝试fail 而不是error(请参阅Deferred doc)。

    【讨论】:

      【解决方案3】:
      $.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"); });
      

      以上代码可能对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2011-07-20
        • 1970-01-01
        • 2014-07-02
        • 2014-09-10
        • 2010-11-05
        • 2013-04-08
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多