3

在好的情况下,我的 JSON 端点将返回正确的 JSON 响应:{status: "success"}. 但是,如果我的网络服务器 500 错误,则 500 响应正文是 HTML,如果 jQuery 尝试使用$.parseJSON.

这个问题建议只是从请求中删除 dataType 参数。我宁愿不这样做,有没有办法尝试/捕获由非 JSON 响应引发的 SyntaxError?

4

1 回答 1

1

来自 jQuery API

Important: As of jQuery 1.4, if the JSON file contains a syntax error, 
the request will usually fail silently.

您可以处理它的错误回调。

$.ajax({
        url: "MYURL",
        dataType: 'json',
        success: function(data) {

        },
        error: function(e) {
          if(e.status == 500)
            alert("500 Internal Server Error");
        }
});
于 2012-07-11T23:17:11.807 回答