jquery.ajax的url中传递中文乱码问题的解决方法


Posted in Javascript onFebruary 07, 2014

JQuery

JQuery默认的contentType:application/x-www-form-urlencoded

这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1

ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。

JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题。

而我们的UTF-8则可以解决这一问题。

最终指需要修改JQuery的代码,显式声明contentType使用utf-8字符集,即可解决GB2312中文传递的问题。

1. 修改JQuery代码

只需要简单的将JQuery的代码加以修改,加上charset=UTF-8就可以了,这样不需要改变改什么web.config或什么在页面中改编码什么的了,也不需要用escapc(str)再在服务端解码。英文怎么传递,中文也怎么传递。

修改用到的jquery文件:jquery-1.4.4.min.js

ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded;charset=UTF-8",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest}

2. Js代码:

function confirmcommit(){
    var wlCompany = $("#wlCompany").val();//这里含有中文
    var wlId = $("#wlId").val();
    var proposer = $("#proposer").val();
    if(confirm("确认要换货吗")){
$.ajax({
type:'POST',
url:'${pageContext.request.contextPath}/returnGoods/confrimExchangeGoods.do',
data:'wlCompany='+wlCompany+'&wlId='+wlId+'&proposer='+proposer, //直接传值
dataType:'text',
error:function(){
    alert("JQuery AJAX Error!");      
},
success:function(msg){
    alert(msg);
    return;
    if(msg=='换货成功'){
 document.location="${pageContext.request.contextPath}/orderItem/queryProduceItem.do?orderBusType="+${orderBusType};
    }
}
});
     }
 }

3 .Java代码:
public ActionForward confrimExchangeGoods(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
log.info("确认换货 confrimExchangeGoods start...............");
response.setCharacterEncoding("UTF-8"); //这里要设置一下
String wlCompany = request.getParameter("wlCompany");
String wlId = request.getParameter("wlId");
String proposer = request.getParameter("proposer");
     .....
}
Javascript 相关文章推荐
jQuery获取浏览器中的分辨率实现代码
Apr 23 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
Feb 04 Javascript
setTimeout内不支持jquery的选择器的解决方案
Apr 28 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 Javascript
第六篇Bootstrap表格样式介绍
Jun 21 Javascript
JavaScript中原型链存在的问题解析
Sep 25 Javascript
有关文件上传 非ajax提交 得到后台数据问题
Oct 12 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 Javascript
vue项目引入Iconfont图标库的教程图解
Oct 24 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 Javascript
详解基于Wepy开发小程序插件(推荐)
Aug 01 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
Feb 07 #Javascript
Ajax提交与传统表单提交的区别说明
Feb 07 #Javascript
JQUERY 设置SELECT选中项代码
Feb 07 #Javascript
jquery操作select详解(取值,设置选中)
Feb 07 #Javascript
jquery select 设置默认选中的示例代码
Feb 07 #Javascript
jquery 淡入淡出效果的简单实现
Feb 07 #Javascript
通过遮罩层实现浮层DIV登录的js代码
Feb 07 #Javascript
You might like
常用星际术语索引(新手指南)
2020/03/04 星际争霸
PHP类中Static方法效率测试代码
2010/10/17 PHP
PHP学习之正则表达式
2011/04/17 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
Python实现注册、登录小程序功能
2018/09/21 Python
Python常见数据类型转换操作示例
2019/05/08 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python requests获取网页常用方法解析
2020/02/20 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
婚内分居协议书范文
2014/11/26 职场文书
民事起诉状范文
2015/05/19 职场文书
环保建议书作文300字
2015/09/14 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
市场营销计划书
2019/04/24 职场文书
压缩Redis里的字符串大对象操作
2021/06/23 Redis