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!=""&®id!='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请求传递过来的字符串信息,就可以正常显示中文了。
相关推荐
-
JQuery AJAX提交中文乱码的解决方案
现象如下: 1)在Firefox下,处理页面的编码为gb2312,提交数据没有问题,中文能够正确解析: 2)在IE8下,处理页面的编码为gb2312,提交中文数据出现乱码. 无论是$.post还是$.ajax,抑或$.ajaxSubmit(来自于Form插件),在之前的UTF-8编码的网站都没有出现过任何问题, 看来是由于提交数据的网页的编码格式造成的了.不管怎么样,既然是浏览器之间存在差异,还是从HTTP包来看有什么问题吧. 打开Fiddle,分别用Firefox和IE做一个AJAX提交(以用
-
IE下Ajax提交乱码的快速解决方法
哈哈,试了这么多还是encodeURIComponent管用啊!!!! 在汉字的位置加个保护措施:encodeURIComponent(parentid) function loadCity(parentid) { var city = '${hotel.city}'; $.ajax({ url: './listCity.jspx?prov='+ encodeURIComponent(parentid), type: 'GET', dataType: 'JSON', timeout: 5000,
-
ajax请求乱码的解决方法(中文乱码)
今天遇到一个问题,有关ajax请求中传输中文,遇到乱码的问题. 如下代码: 复制代码 代码如下: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: &qu
-
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!=""&®id!='und
-
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
我们平时在同域中请求页面什么的时候不会有这种情况,这种情况大多发生在移动端的跨域请求中发生的. 解决方法就是在服务端中加一层过滤HTTP请求的类型,把OPTION等不用的类型过滤掉.就是当请求为非 HTTP中的 GET 和 POST的时候就不执行下面的代码,这样就可以只执行一次请求了. 在ASP.NET中我们用 Request.ServerVariables["REQUEST_METHOD"] == "POST" 或者 Request.ServerVariables
-
jQuery ajax方法传递中文时出现中文乱码的解决方法
本文实例讲述了jQuery ajax方法传递中文时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 使用jQuery的ajax方法,在传递中文时出现中文乱码,按照以前的方法,修改了jquery文件中的ajaxSetting也不好使 复制代码 代码如下: sajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded;charse
-
java表单提交中文乱码的解决方法
本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&
-
springmvc 发送ajax出现中文乱码的解决方法汇总
使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法. 我使用的是sping-web-3.2.2,jar 方法一: 在@RequestMapping里面加入produces = "text/html;charset=UTF-8" @RequestMapping(value = "/configrole", method = RequestMethod
-
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
-
IE浏览器在post提交时中文乱码的解决方法
现在遇到的问题是在页面和服务器端都配置了字符编码uft-8,但是在提交时火狐,chrome都没有问题,ie8确出现了中文乱码,采用的解决方法是在网页端转码,在服务器端再转回来,实例: 客户端: 复制代码 代码如下: userName = encodeURI(userName); post提交后 服务器端: 复制代码 代码如下: response.serContentType("text/html;charset=utf-8"); String keyword= request.getP
-
JQuery异步获取返回值中文乱码的解决方法
用jqgrid异步获取列表值,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码. 服务器端已经编码过了(UTF-8编码).开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是jqGrid工具函数中少配了 contentType: "application/x-www-form-urlencoded; charset=utf-8", 等等问题. 结果都不是,纠结了几个小时,后来经过大牛的提醒
-
Jquery中ajax提交表单几种方法(get、post两种方法)
在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法.$get方式提交表单get() 方法通过远程HTTP ,下面我来介绍两个提交表单数据的方法. $get方式提交表单 get() 方法通过远程 HTTP GET 请求载入信息 格式 $(selector).get(url,data,success(response,status,xhr),dataType
-
JQuery中Ajax()的data参数类型实例分析
本文实例分析了JQuery中Ajax()的data参数类型.分享给大家供大家参考,具体如下: 前面简单分析介绍了<ajax中data传参的两种方式>,对于ajax参数传递方式有了初步的了解,这里就来进一步分析一下ajax中data参数的类型. 假如现在有这样一个表单,是添加元素用的. <form id='addForm' action='UserAdd.action' type='post'> <label for='uname'>用户名</label>:&
随机推荐
- MongoDB开源数据库开发工具dbKoda
- css别忘记清除浮动clear:both
- JQuery触发radio或checkbox的change事件
- Java Web过滤器详解
- php生成xml简单实例代码
- 一个简单计数器的源代码
- Golang记录、计算函数执行耗时、运行时间的一个简单方法
- Android Activity生命周期和堆栈管理的详解
- Android中通过AsyncTask类来制作炫酷进度条的实例教程
- vue过渡和animate.css结合使用详解
- C#与PHP的md5计算结果不同的解决方法
- 通过JavaScript或PHP检测Android设备的代码
- Linux基础知识99问(一)
- android用PopWindow做下拉框实例代码
- java 加密之RSA算法加密与解密的实例详解
- 零基础入门学习——Spring Boot注解(一)
- Shell常用操作符总结
- python中logging包的使用总结
- spring ioc的简单实例及bean的作用域属性解析
- 易语言调用百度的真相问答制作真相问答机的代码