在好的情况下,我的JSON端点将返回正确的JSON响应:{status: "success"}
。但是,如果我的webserver 500错误,则500响应正文是HTML,如果jQuery尝试使用$.parseJSON
解析它,则会导致语法错误。
This question建议只从请求中删除dataType参数。我宁愿不这样做,有没有办法尝试/捕获由非JSON响应引发的SyntaxError?
答案 0 :(得分:1)
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");
}
});