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

本文记录了一次从jQuery 1.3.2版本升级到1.6.2版本的经历,主要探讨了升级过程中遇到的问题,特别是关于POST请求失败的原因及解决方法。通过调试发现,新版本的jQuery对JSON格式的要求更为严格。

以前写的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升级成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值