jquery ajax乱码怎么办

jquery ajax乱码怎么办?

最近工作中用jQuery ajax返回出现乱码,用的Notepad++编辑器,当JS部分传递中文时,另一页面接收的话会出现乱码,在网上找了很多方法,基本上没有很好的解决。

页面用GB2312编码,JS部分得到中文字符:var playerName=$('#playerName').val(); 可以这样处理:

在ajax代码部分:

$.ajax({
   url:   'getName.php',
   type:  'GET',
   cache: false,
   data:{
     'playerName':   encodeURIComponent(playerName)//解决问题的关键点
   },
   success:function(response){
     ……
   }
});

这里要注意的是jQuery的ajax中处理中文是UTF-8格式,在另外一个页面可以这样处理:在文件头部加上

header("Content-type:text/html;charset:gbk");这里的gbk可以处理繁体和简体(工作需要^_^),接收name时:
   $playerName=urldecode($_GET['playerName']);
   $playerName=iconv('utf-8','gbk',$playerName);

当然,我的编辑器NotePad++默认编码是ANSI格式的,这个没多大影响~~。

前一周我还准备放弃Notepad++,改用Zend来开发,用了一周之后,才发现还是我的Notepad++好,怎么感觉有点“老婆还是第一任的好呢。。”有点小邪恶^^.

对了,上面jquery中ajax使设置了cache:false,这个针对IE是必须要加的,不然用了ajax,数据还是以前的,没变,IE缓存太邪恶了,亲爱的firefox就不会出现这种情况^^.

还是那句话,jquery简直太强大了!

以上就是jquery ajax乱码怎么办的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读