您的位置:首页 > Web前端 > JQuery

GBK编码下jQuery Ajax中文乱码终极暴力解决方案

2010-07-08 18:37 567 查看
哎,还是老话题,一直缠绕着国人……

现在来个快刀斩乱麻,let’s go

由于项目前期使用的是1.2.6版本,后期使用的是1.3.2版本,所以分开来讲;

说说实现的办法,有点暴力——直接修改jQury源码,不过不用担心,不会影响整体功能而且就修改几行代码就可以解决乱码,也就是在发送请求的时候把参数值再进行一次转码,修改的方法为param



1、jQuery 1.2.6 乱码解决办法

打开1.2.6版本的源文件
找到第2911、2921、2924行,分别修改对应参数值的地方包裹一层encodeURIComponent即可,修改后的结果如下:

下载:jquery-encode-gbk.1.2.6.js

下载:jquery-encode-gbk.pack.1.2.6.js

 

2、jQuery 1.3.2 乱码解决办法

1.3.2的就不用这么麻烦了,因为这个版本简化了param方法的结构,只需要修改一行代码即可,因为只有一个地方转码了

找到第3737行,同样包裹一层encodeURIComponent,结果如下:

param: function( a ) {
  var s = [ ];
 
  function add( key, value ){
   s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(encodeURIComponent(value));
  };


下载:jquery-encode-gbk-1.3.2.js

下载:jquery-encode-gbk-.pack.1.3.2.js








转载请标明出处 http://blog.csdn.net/shimiso

技术交流群:173711587
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: