jquery1.4的性能比jquery1.3提升了一倍。但是项目里好多原来能跑jquery1.3的页面,在jquery1.4下报错。其中的一个原因就是$.getJSON函数,原先使用旧版本的JSON数据如果写得不标准,使用这个版本就无法正常获取JSON数据了。
例如:
JSON不标准的写法:
{id:1,name:'name1'}
jquery1.4.x以下旧版本是能正常获取的,如果你的程序开发时用的是这类格式,那就头痛了,因为如果升级JQUERY到新版本,这种格式是读取不了的。
JSON标准的写法,各种版本都能正常获取
{"id":1,"name":"name1"}
这是因为jquery1.4.X版本里使用了native json parser,对json格式有严格的要求。
如果你不想修改程序的JSON数据,还有什么方法能让旧新据适合用在新版本上呢?方法是有的,只要恢复回旧版本的JSON处理函数就可以了,修改方法如下:
jq1.4.x Regular 版本修改
打开jquery-1.4.x.js文件,找到下面代码:
data = jQuery.parseJSON( data );
修改为以下代码:
data = window["eval"]("(" + data + ")");
jq1.4.x Minified 版本修改
打开jquery-1.4.x.min.js文件,找到下面代码:
a=c.parseJSON(a);
修改为以下代码:
a= window["eval"]("(" + a+ ")");
试试你的程序吧,$.getJSON是不是正常了。