ajax传递中文字符时会产生乱码,在“火狐”中不会出现这个问题,我的测试是在IE8下出现这个问题IE6和IE7下正常,问了一下同事,他说在IE下面都可能出现这个问题。 js我也是菜鸟虽然学了很长时间,但是没用多长时间,都是现学现卖。

    解决的办法是使用js的encodeURI函数,对传递的参数进行编码。

  部分代码如下:

   
   
   
   
  1. var host = window.location.host; 
  2.         $.ajax({ 
  3.             type: "GET"
  4.             url : "http://"+host+"/ajax.php?module=ip&action=editIp&ip="+encodeURI(u)+"&city="+encodeURI(city)+"&code="+encodeURI(code)+"&ip_id="+encodeURI(ip_id), 
  5.             success: function(response){ 
  6.                 $("#editerr").html(response); 
  7.                 $("#editerr").find("span").click(function(){ 
  8.                     if ($(this).hasClass("close")) { 
  9.                         $("#editerr").hide(); 
  10.                         $("#mask").hide(); 
  11.                         return false
  12.                     } 
  13.                 }); 
  14.             } 
  15.         }); 

在后端的程序无需进行解码,