浏览 1805 次
锁定老帖子 主题:jquery版本升级引发的问题和解决方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-22
以前写的jquery组件,jquery使用的1.3.2版本,算是一个稳定版了
听说jquery新版本对性能控制更加完善,也增加许多新功能,看的我浑身发热,欲罢不能。。。。。。。。。 果断决定把那个老迈的1.3.2升级成1.6.2
jquery版本切换之后,发现悲剧了 以前的jquery组件不能用了 深入调试后发现,主要是POST请求没有执行成功,每次调试到post的时候,程序就过去了
我就奇怪了,jquery升级以后也有post方法啊,怎么就执行不过去呢 js调试也是烦躁的一塌糊涂,几次下来我就被激怒了,小宇宙轻轻的爆发了一下。。。。
进入1.6以后,发现jquery1.6的ajax的调用架构完全换了(哈哈,新发现) 几经周折,发现了一个新api,parseJSON
if ( typeof data !== "string" || !data ) { return null; } // Make sure leading/trailing whitespace is removed (IE can't handle it) data = jQuery.trim( data ); // Attempt to parse using the native JSON parser first if ( window.JSON && window.JSON.parse ) { return window.JSON.parse( data ); } // Make sure the incoming data is actual JSON // Logic borrowed from http://json.org/json2.js if ( rvalidchars.test( data.replace( rvalidescape, "@" ) .replace( rvalidtokens, "]" ) .replace( rvalidbraces, "")) ) { return (new Function( "return " + data ))(); } 发现每次程序都是从window.JSON里面进去。。。。。 那死东西是啥啊,我咋没见过啊,看jquery上面的注释是说,调用浏览器本地的json解析器 哟,牛逼了么,看来以后写json的时候,可以调用这个呀。。。。。
没办法,google发现,浏览器本地JSON解析器对json的格式要求很严格 举个例子来说,{aa:123,bb:123}这个json,在浏览器本地的解析器里面是不能通过的,一定要写成{“aa”:123,“bb”:123}
原来是我自己偷懒,没把json拼接写好 修改部分java代码以后,程序顺利运行,jquery升级成功 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |