我正在尝试使用以下代码执行jQuery Ajax请求:
$.ajax({
url: '<MY_URL>',
type: 'POST',
contentType: 'application/json;charset=UTF-8',
data: JSON.stringify(data),
dataType: 'application/json',
success: getParsedData,
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + ' ' + $.parseJSON(xhr.responseText['message']);
},
xhrFields: {
withCredentials: true
}
});
我没有执行success
变量中指定的函数,而是获取值为200的警报弹出窗口(这是有效请求)。
在浏览器的开发者工具中,我也可以看到:
远程地址:...
请求网址:...
请求方法:POST
状态代码:200 OK
请告诉您如何进一步排除故障/处理它,以便正确执行成功/错误功能。
答案 0 :(得分:5)
我相信JSON的dataType
只是json
。
当数据与预期的数据不匹配时,jQuery也会触发错误处理程序。例如,将HTML或格式错误的JSON返回到期望JSON的AJAX请求也可以触发错误处理程序,即使响应状态是非错误状态。