JQuery中Ajax的Post提交在IE下中文乱码的解决方法

引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢?

问题的引入:

复制代码 代码如下:

var regid = $('#oregion').combobox('getValue');

//var sname = $('#sname').val();

var sname = encodeURI($('#sname').val(),"UTF-8");

if(regid!=""&&regid!='undefined'){

$.ajax({

async: true,

type : "POST",

dataType : "json",

url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,

success : function(data) {

if(data.mes!=""&&data.mes!=null){

$.messager.alert('Warning',data.mes);

return false;

}

}

});

}

}

以上的代码在FF/Chrome中,可以正常传递中文,但是在IE下,则存在问题,在后台输出的信息为乱码。

问题尝试办法:

1. 设置了 contentType: "text/plain; charset=utf-8", 问题依然存在

2. 重新检查了ajax代码所在的jsp页面,皆为使用utf-8,但是问题依然存在

3. 在后台的java代码中,强制使用utf-8、gbk、gb2312的编码转换, 问题依然存在

经过分析,判断其可能与浏览器或者JQuery中的内容传输有关,目前也无法准确的确定。

解决的办法:

前段:encodeURI($(dom).val(), "UTF-8"); 使用encodeURI进行编码

后端Java代码:

URLDecoder.decode(inputStr,"UTF-8"): 后端代码针对前段传递过来的字符串,进行解码。

总结:

最后就可以针对Ajax Post请求传递过来的字符串信息,就可以正常显示中文了。

时间: 2024-10-02 09:10:39

JQuery中Ajax的Post提交在IE下中文乱码的解决方法的相关文章

JQuery中Ajax的Post提交在IE下中文乱码的解决方法_AJAX相关

引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: 复制代码 代码如下: var regid = $('#oregion').combobox('getValue'); //var sname = $('#sname').val(); var sname = encodeURI($('#sname').val(),"UTF-8"); if(regid!=""&&regid!='und

jQuery ajax方法传递中文时出现中文乱码的解决方法_jquery

本文实例讲述了jQuery ajax方法传递中文时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 使用jQuery的ajax方法,在传递中文时出现中文乱码,按照以前的方法,修改了jquery文件中的ajaxSetting也不好使 复制代码 代码如下: sajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded;charse

java表单提交中文乱码的解决方法_java

本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&

Ajax的Post提交数据程序接受中文乱码解决办法

Ajax以POST方式提交,url形式为"url?param=xx&param2=xx"时,如果传递的参数是中文或日文,后台接收参数将出现乱码,疑似"灏?浼??ㄨ??rdquo;.此时我们需要将url编码成UTF-8.调用javascript方法encodeURI(URIstring),后台接收参数调用URLDecoder.decode(String s,String enc) 解码. 工作中遇到这个问题,起初打算用反射循环给属性转码,考虑到反射效率问题,为避免滥用反

JQuery异步获取返回值中文乱码的解决方法_jquery

用jqgrid异步获取列表值,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码. 服务器端已经编码过了(UTF-8编码).开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是jqGrid工具函数中少配了 contentType: "application/x-www-form-urlencoded; charset=utf-8",   等等问题. 结果都不是,纠结了几个小时,后来经过大牛的提醒

ASP.NET中Request.Form中文乱码的解决方法

背景 涉及到两个网站的通信,网站A有一页面a,用提交表单的方式,传值到网站B的页面b.网站A统一用UTF-8编码,网站B统一用GB2312编码. web.config中编码的设置 网站A:<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" /> 网站B:<globalization requestEncoding="gb2312" responseEnc

ASP.NET中Request.Form中文乱码的解决方法_实用技巧

背景 涉及到两个网站的通信,网站A有一页面a,用提交表单的方式,传值到网站B的页面b.网站A统一用UTF-8编码,网站B统一用GB2312编码. web.config中编码的设置 网站A:<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" /> 网站B:<globalization requestEncoding="gb2312" responseEnc

springmvc 发送ajax出现中文乱码的解决方法汇总_AJAX相关

使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法.  我使用的是sping-web-3.2.2,jar   方法一:   在@RequestMapping里面加入produces = "text/html;charset=UTF-8" @RequestMapping(value = "/configrole", method = RequestMet

win7系统中cmd命令模式下中文乱码怎么解决

1.我们在开始菜单中点击"运行"然后在运行中我们输入 CMD命令提示符 效果如下 2.在cmd界面中我们点击 chcp 936,点击回车 3.执行后如果显示的是"活动代码页:936"即可解决问题,如果显示的是"□□□□□:936",则往下看 4.右击命令提示符的标题栏,选择打开"默认值",并选择"默认代码页"为"936",点击确定即可 好了这样设置好系统的编码为gbk这后就会发现在cmd