代码改变世界

Jquery1.4.2兼容

2010-07-13 10:24  爱研究源码的javaer  阅读(363)  评论(0编辑  收藏  举报
jquery1.4.2版本在性能上又提升了一倍,详细浏览:http://bbs.kl3w.com/thread-301-1-1.html

但有一个令人头痛的事就是$.getJSON函数,原先使用旧版本的JSON数据如果写得不标准,使用这个版本就无法正常获取JSON数据了

例如:
JSON不标准的写法
  1. {Err:1,errmsg:'无效ID值!请从正确表单页提交!'}
复制代码
jquery1.4.x以下旧版本是能正常获取的,如果你的程序开发时用的是这类格式,那就头痛了,因为如果升级JQUERY到新版本,这种格式是读取不了的

JSON标准的写法,各种版本都能正常获取
  1. {"Err":1,"errmsg":"无效ID值!请从正确表单页提交!"}
复制代码
这是因为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是不是正常了?

当然,如果你有能力写正则的话,可以修改新版本的parseJSON函数里JSON处理正则