A-A+

js中ajax 传递中文乱码问题解决办法

2016年02月19日 web前端设计 暂无评论 阅读 5 views 次

经常会有朋友在使用ajax传中文时出现乱码,因为ajax默认发送的是uft-8编码这样它就不支持中文(gbk,gb2312)这样的字符所以就出现了乱码,所以我们可以使用encodeURI对中文先进行编码处理。

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

var keywords=encodeURI(document.getElementById("suggestfilm").value);

例,代码如下:

  1. <script type="text/javascript">   
  2.         //var data=<%=data %>   
  3.     jQuery(document).ready(function ($) {   
  4.         $("ul.menu").dropmenu();   
  5.         var title = encodeURI('联系我们');   
  6.         $.ajax({   
  7.             type: "GET",   
  8.             url: "?title=" + title + "&value=TopicContent",   
  9.             //我们用text格式接收   
  10.             dataType: "application/x-www-form-urlencoded; charset=utf-8",   
  11.             data: "meth=load",   
  12.             success: function (msg) {   
  13.                 alert(msg);   
  14.                 //显示后台数据   
  15.                 $(".contact").html(msg);   
  16.     
  17.             }   
  18.         });  
  19. </script>  

在后端的程序无需进行解码了,我们可以直接得到中文字符而不是乱码了。

标签:

给我留言