Jquery版本导致Ajax不执行success回调函数
作者:
这篇文章主要介绍了Jquery Ajax不执行success回调函数的原因及解决方法
对于使用ajax来请求数据已经不是第一次使用(一直觉得也就那么回事),就在昨天居然遇到了一个问题?项目中需要用到ajax来进行数据的请求,于是三下五除二的将ajax代码拷贝到项目中,前端,后台数据处理完毕,测试(心想可以休息下下了),谁知数据成功返回、前端没报错,后台也没错,硬是没有执行success回调函数,心凉了一半。
接下来就是找原因,查看原先代码,百度,json格式检查,终于发现问题所在 罪魁祸首居然是Jquery版本所引起的。
Jquery版本:jquery-1.9.0.min.js
随着Jquery版本的提高,对于json格式有着严格的要求,原先类似这种格式的返回信息{success:true,id:1,result:"ok"}在高版本中已不适用,需采取以下格式
{"success":true,"id":1,"result":"ok"}
总结:
key:需双引号括起
value:1.数值,布尔类型可不用双引号
2.字符串 需用双引号括起
格式:{success:true,id:1,result:"ok"} 不通过
格式:{"success":true,"id":1,"result":"ok"} 通过
接下来就是找原因,查看原先代码,百度,json格式检查,终于发现问题所在 罪魁祸首居然是Jquery版本所引起的。
Jquery版本:jquery-1.9.0.min.js
随着Jquery版本的提高,对于json格式有着严格的要求,原先类似这种格式的返回信息{success:true,id:1,result:"ok"}在高版本中已不适用,需采取以下格式
复制代码 代码如下:
{"success":true,"id":1,"result":"ok"}
总结:
key:需双引号括起
value:1.数值,布尔类型可不用双引号
2.字符串 需用双引号括起
格式:{success:true,id:1,result:"ok"} 不通过
格式:{"success":true,"id":1,"result":"ok"} 通过