在好的情况下,我的 JSON 端点将返回正确的 JSON 响应:{status: "success"}
. 但是,如果我的网络服务器 500 错误,则 500 响应正文是 HTML,如果 jQuery 尝试使用$.parseJSON
.
这个问题建议只是从请求中删除 dataType 参数。我宁愿不这样做,有没有办法尝试/捕获由非 JSON 响应引发的 SyntaxError?
在好的情况下,我的 JSON 端点将返回正确的 JSON 响应:{status: "success"}
. 但是,如果我的网络服务器 500 错误,则 500 响应正文是 HTML,如果 jQuery 尝试使用$.parseJSON
.
这个问题建议只是从请求中删除 dataType 参数。我宁愿不这样做,有没有办法尝试/捕获由非 JSON 响应引发的 SyntaxError?
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");
}
});