APS.NET和MVC3解决jQuery中Ajax的乱码问题

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

解决jQuery中Ajax的乱码问题

 
  1. $(document).ready(function(){  
  2. //    alert(encodeURI("我"));  
  3.     $.ajax({url:"a.php?a=" + encodeURIComponent("我们"),  
  4.                     success:function(re){  
  5.                         alert(re);  
  6.                         },  
  7.           data:{"b":"我们"},  
  8.                     error:function(r,r1,r2){  
  9.                         alert(1);  
  10.                     }  
  11.             });  
  12.     });  

 

POST表单中的数据一直都正常,只是URL中出现中文的话,服务器程序收到的会是乱码,比如/a.php?a=中文,这时候如果服务器程序使用gb2312则正常,使用UtF-8则乱码,

解决方法,所有页面使用utf-8,ajax提交的时候,对URL中的中文进行编码(encodeURIComponent("我们"),),然后再提交就不会有任何问题,只是用户看URL的时候不太直观

 

如果要想在URL中使用,可能需要在服务器程序对URL进行判断,有双字节字符,则进行GB2312解码。

 真的可以诶!

 

你可能感兴趣的:(jquery)