今天测试了jquery版本升级,本来想升级到jQuey1.5的,但是结果很悲剧,问题只要几种在json格式的Ajax请求。
大家都知道jQuery1.5重写了Ajax模块,不过还有很多bug,点此查看人家提交的bug:http://bugs.jquery.com/search?q=1.5+ajax&noquickjump=1&ticket=on,
我今天碰到的是类似这个http://bugs.jquery.com/ticket/8302,就是在指定ajax dataType: “json”的时候,将无法正常解析“{“state”:1,”newMsgNum”:1,”newNoticeNum”:0}”,问题很悲剧,我把dataType改成script或者去掉dataType就可以正常解析,以为如果不指定dataType,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。更加悲剧的是,我的json数据的 http://www.sodao.com/message/GetUserMessageData http头信息中的Content-Type明明是?application/json。
慎用jQuery1.5!
若非必要,还是尽量减少升级,很多BUG,体积也大了
Content-Type可用text/javascript
{“state”:”1″,”newMsgNum”:”1″,”newNoticeNum”:”0″} 就可以了
JQuery1.5是为了纪念五周年,才赶出来的,bug 绝对多点…
从1.4.4就要求严格json数据格式了吧,”key”:”value”都要带双引号的
使用标准json不可能出问题的。
json.org提供了各种后台脚本语言的json API,不建议手动拼接json串;即使很简单也推荐用jso.org的API来输出Json
{“state”:1,”newMsgNum”:1,”newNoticeNum”:0} 这还不够标准吗?jquery1.4的时候就要求使用标准格式的json了,我使用jquery1.4.4就没这个问题!
似乎还是标准问题, key和value都要加双引号才行..楼上似乎有人说了.. 试试
码头,我的博客迁至cnblogs了,把友情链接的地址改一下哦
忘了附上地址了,http://www.cnblogs.com/zhenn/
已经修改了!
早就撤回了,jquery.validation的remote方法在1.5下失效
我测试的是1.5.1版本,没有遇到类似问题,加载json正常~~~
我的json格式是[{“a”:1,”b”:2},{“a”:3,”b”:4}]。
可能是官方已经修复!
基本上现在都是用的1.4的min版本的
还有啊jQuery1.5在ie9下无法运营,必须要用jQuery1.5.1。
jQuery1.5.1 min版本如果放入myeclipse8.6下,内存cpu暴涨。