论坛首页 Web前端技术论坛

jquery版本升级引发的问题和解决方法

浏览 1758 次
精华帖 (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升级成功

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics