今天在写一个项目功能的时候,明明应该不会有错的地方,却一直跟预期的效果发生偏差。自己也检查过后台的数据,结果发现,造成这个原因居然是因为:dataType : 'json'。
事件发生背景
1. 发生错误的地方
//其他的都没有错误,我们来关心一下重点是我们添加了dataType:'json'这一句。
$.ajax({
type:'POST',
url:'XXXXX',
dataType:'json',
contentType : "application/json",
data : JSON.stringify(sendData),
success : function(data) {
alert("MDZZ!!!");
}
error:function(){
alert("失败是应该的~~~~~");
}
});
2. 结果:
结果是执行了错误的回调函数,弹出了失败是应该的~。
3. 解决方法
将dataType:'json'这一行去掉。
4. 解决结果
结果调用了success方法的回调函数,跳出了MDZZ这句话。
5. 原因
经过上网查了好几个网页的资料,能够证实出现这个原因是因为jQuery1.4以后的版本,对JSON格式有了更严格的标准。jquery 1.4以后对json格式变严格了,也就是说必须要这种格式的{"键":"值","键":"值"};像原来的{键:值,键:值}和{'键':'值','键':'值'}这种都是错误的,不合标准,所以jquery返回error。
本文介绍了一个关于使用Ajax发送JSON格式数据时遇到的问题及解决方法。问题出现在使用dataType:'json'时,jQuery1.4之后的版本对于JSON格式的要求更为严格,导致请求失败。通过去除dataType:'json',成功解决了该问题。
252

被折叠的 条评论
为什么被折叠?



