这次给大家带来完美处理json数据无法执行success,完美json数据无法执行success的注意事项有哪些,下面就是实战案例,一起来看一下。
1.jquery通过ajax方法获取json数据不执行success回调
问题描述:jquery通过ajax方法获取json数据不执行success回调方法
问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法
解决方案:使json格式务必符合下述3个标准写法:
1)键名称:用双引号括起;
2)字符串:用双引号括起;
3)数字,布尔值不需要使用双引号括起 ;
注意:一定是双括号!
2.jquery中ajax使用json数据类型总是跳过success执行error语句
执行函数
error : function(xmlhttprequest, textstatus, errorthrown) {
//这个error函数调试时非常有用,如果解析不正确,将会弹出错误框
alert(xmlhttprequest.responsetext);
alert(xmlhttprequest.status);
alert(xmlhttprequest.readystate);
alert(textstatus); // parser error;
}
就明白错误信息了;
弹出的框里显示:
<!doctype html public "-//w3c //dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd /xhtml1-transitional.dtd">以 及<?xml version="1.0" encoding="gb2312" ?>
这两句话,虽然不清楚为什么,我删除之后,就成功执行 success了
3.$.ajax()中的url跨域时,总是不执行success,老进入error
1)我加上servletactioncontext.getresponse().setheader(access-control-allow-origin, *);
解决跨域问题,就顺利进入success了
2)datatype:json,
去掉 看能进success 不 。
datatype 是预期服务器返回过来的信息类型 。
原因:返回的数据类型一定要符合定义的数据类型。即如果你定义的 datatype 是 json 类型的,那么返回来的数据一定是 json 才可以,平且不然就会执行 error 里的程序块儿。
(1) 同时需要特别的注意返回的json数据是否是严格的json格式.
(2) 也应该严重关切当后台返回的是一个list 数据(list当中的数据是json格式)时,有没脏数据即不是严格的json格式。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
ajax可以处理服务器返回哪些数据类型?
ajax请求时显示进度
以上就是完美处理json数据无法执行success的详细内容。