=波波日志 > JavaScript/Ajax > jQuery dataType指定为json的问题=
jQuery dataType指定为json的问题
jQuery dataType指定为json的问题,不执行回调函数
最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数,极度郁闷。后面改为1.2.6版本可以执行。具体的问题查看下面这篇文章。
jQuery1.4.2 ajax存在一个严重bug问题
然后继续下载了几个jquery版本,如1.3.2,1.4.0的,指定dataType为json都不能执行success回调,只有小于1.3版本的才能执行success回调。
最后去jquery的网站找到了在线的api文档看了下,地址:http://api.jquery.com/jQuery.ajax/,发现dataType如下的说明
"json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,其他怪异模式的json字符串都会出错,无法解析返回json数据。说的是1.4+以上的,那为什么下载的1.3.2指定dataType为json时也不能执行success回调呢?
怪不得不执行,原来我返回的是{success:true,id:'1'}这种不规则的字符串,不是严格的json格式,改成{"success":true,"id":"1"}就可以正常执行success回调了。
JSON格式总结下,详细的去json.org查看。
1)键名称:用双引号括起
2)字符串:用使用双引号括起
3)数字,布尔类型不需要使用双引号括起
最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数,极度郁闷。后面改为1.2.6版本可以执行。具体的问题查看下面这篇文章。
jQuery1.4.2 ajax存在一个严重bug问题
然后继续下载了几个jquery版本,如1.3.2,1.4.0的,指定dataType为json都不能执行success回调,只有小于1.3版本的才能执行success回调。
最后去jquery的网站找到了在线的api文档看了下,地址:http://api.jquery.com/jQuery.ajax/,发现dataType如下的说明
"json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,其他怪异模式的json字符串都会出错,无法解析返回json数据。说的是1.4+以上的,那为什么下载的1.3.2指定dataType为json时也不能执行success回调呢?
怪不得不执行,原来我返回的是{success:true,id:'1'}这种不规则的字符串,不是严格的json格式,改成{"success":true,"id":"1"}就可以正常执行success回调了。
JSON格式总结下,详细的去json.org查看。
1)键名称:用双引号括起
2)字符串:用使用双引号括起
3)数字,布尔类型不需要使用双引号括起
类别:JavaScript/Ajax 作者:波波 日期:2010-07-22 【评论:0】
相关文章
暂时没有评论!
发表留言
热门博文
- AJAX跨域问题解决办法
- ajax问题总结
- ajax+asp.net+mssql无刷新聊天室
- ajax无刷新上传文件,使用iframe模仿
- ajax对象abort方法
- JavaScript代码,变量,函数执行顺序问题
最新博文
- jquery+flash显示图片实时加载进度插件
- jquery浮动层拖动插件
- firefox NPMethod called on non-NPObject wrapped JSObject!错误
- IE浏览器setCapture和releaseCapture介绍
- 51.la统计出问题了
- 隐藏删除ckeditor状态栏
随机博文
- firefox下XMLHttpRequest重用时nsIXMLHttpRequest.send发生错误的解决方案
- ajax+asp+mssql无刷新聊天室
- 取得IE的有效显示区域的高度和宽度
- 模态窗口传值
- 腾讯互动状态代码生成页
- IE中的URL最大长度限制
广告商赞助

