web网页提交数据乱码问题

本文探讨了在使用jQuery AJAX提交中文数据时遇到的IE浏览器乱码问题。通过对比谷歌浏览器,定位问题根源,并提供解决方案,避免在IE下通过查询字符串方式提交中文。

最近一段时间,发现提交的数据有乱码。但没有发现规律,只发现只要是汉字就有可能出现乱码,如果只是字母和数字则不会出现乱码。其实之前发现过各种乱码问题。

于是做了检查,之前是因为content没有设置为utf-8,出现过乱码。但检查后发现这个没有问题

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

最后检查了很长时间,才发现只有IE下存在问题,谷歌浏览器是没有问题的。

在仔细检查代码,发现如下:

 $("#test").click(function (e) {
                 var data = {}; 
                 $.ajax({
                     type: "post",
                     data: data,
                     url: "GetSession.ashx?OperationType=Del&testText=" + $("#content_reply").val(),
                     success: function (msg) {
                         var obj = jQuery.parseJSON(msg);
                         $.messager.alert('提示', obj.Msg);
                     }
                 });
             })

通过查询字符串的方式提交的中文,在IE下,后台获取到的是乱码,但同样的代码在谷歌浏览器下是正确的。

修改如下,则是正确的。以前查询字符串我一般都是很简单的字符,从来没有传递过中文,因此没有发现这个问题。

想不到IE下还有这个区别。

 $("#test").click(function (e) {
                 var data = {};
                 data.testText = $("#content_reply").val();
                 $.ajax({
                     type: "post",
                     data: data,
                     url: "GetSession.ashx?OperationType=Del",
                     success: function (msg) {
                         var obj = jQuery.parseJSON(msg);
                         $.messager.alert('提示', obj.Msg);
                     }
                 });
             })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值