如何处理不返回JSON的JSON请求?

时间:2012-07-11 22:58:46

标签: jquery json syntax-error

在好的情况下,我的JSON端点将返回正确的JSON响应:{status: "success"}。但是,如果我的webserver 500错误,则500响应正文是HTML,如果jQuery尝试使用$.parseJSON解析它,则会导致语法错误。

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

1 个答案:

答案 0 :(得分:1)

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