我有一个看起来像这样的jQuery POST请求:
$.ajax("/myurl",{
data:{
...
},
mimeType:"application/json",
dataType:"application/json",
method:"POST",
success:function(r){
console.log("success");
},
error:function(r){
console.log("error");
console.log(r);
}
});
我在chrome控制台中打开了XHR日志记录,它显示为XHR finished loading: POST http://localhost/myurl
。但是,“错误”以及XHR对象也记录在我的控制台中:
error
{readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
XHR finished loading: POST "http://localhost/myurl"
为什么说XHR已完成加载,但同时出现错误?为什么还会出现错误?在服务器端,服务器接收请求并发送响应。
答案 0 :(得分:1)
最可能的解释是服务器发送回的内容不是有效的JSON,因此尽管ajax成功,但解析JSON仍然失败。
您的dataType
已关闭,但应具有以下值之一:"xml"
,"json"
,"script"
或"html"
,"json"
。您也不需要(可能也不想)设置mimeType
。