A-A+
js中ajax 传递中文乱码问题解决办法
经常会有朋友在使用ajax传中文时出现乱码,因为ajax默认发送的是uft-8编码这样它就不支持中文(gbk,gb2312)这样的字符所以就出现了乱码,所以我们可以使用encodeURI对中文先进行编码处理。
解决的办法是使用js的encodeURI函数,对传递的参数进行编码,代码如下:
var keywords=encodeURI(document.getElementById("suggestfilm").value);
例,代码如下:
- <script type="text/javascript">
- //var data=<%=data %>
- jQuery(document).ready(function ($) {
- $("ul.menu").dropmenu();
- var title = encodeURI('联系我们');
- $.ajax({
- type: "GET",
- url: "?title=" + title + "&value=TopicContent",
- //我们用text格式接收
- dataType: "application/x-www-form-urlencoded; charset=utf-8",
- data: "meth=load",
- success: function (msg) {
- alert(msg);
- //显示后台数据
- $(".contact").html(msg);
- }
- });
- </script>
在后端的程序无需进行解码了,我们可以直接得到中文字符而不是乱码了。