如何在jQuery getJSON调用中捕获400响应

Muh*_*man 8 javascript ajax jquery json http-status-code-400

在jQuery中我想使用该$.getJSON()方法从facebook获取一些数据,但如果令牌无效,Facebook将返回400状态.我怎样才能捕捉错误$.getJSON()而不是$.ajax()

Elb*_*lby 10

我认为这对你有用

$.getJSON("example.json", function() {
  alert("success");
})
.success(function() { alert("success 2"); })
.error(function() { alert("error occurred "); })
.complete(function() { alert("Done"); });
Run Code Online (Sandbox Code Playgroud)

  • 实际上是`done()`,`fail()`和`always()` (2认同)
  • 我知道,但是我们现在生活在2019年,如果人们(像我自己)知道为什么它对他们不起作用以及什么会起作用,那么他们仍然会碰到这么好。我并不是说您的答案是错误的,我只是说它不再正确。 (2认同)

A.M*_* D. 7

jquery Ajax文档提供了两种解决方案,第一种是错误函数:

    error(jqXHR, textStatus, errorThrown)
Run Code Online (Sandbox Code Playgroud)

它为您检测并报告错误消息的文本部分,另一个是状态代码功能(在同一页面上).以下是该页面的示例用法:

    $.ajax({
      statusCode: {
        404: function() {
          alert("page not found");
        }
      }
    });
Run Code Online (Sandbox Code Playgroud)