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 相关文章推荐
Exjs 入门篇
Apr 07 Javascript
JQuery入门—编写一个简单的JQuery应用案例
Jan 03 Javascript
FF IE浏览器修改标签透明度的方法
Jan 27 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
Mar 02 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 Javascript
JavaScript判断浏览器运行环境的详细方法
Jun 30 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
php创建类并调用的实例方法
2019/09/25 PHP
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
利用python代码写的12306订票代码
2015/12/20 Python
python保存文件方法小结
2018/07/27 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
python函数的万能参数传参详解
2019/07/26 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
求职信名称怎么写
2014/05/26 职场文书
2014年政协工作总结
2014/12/09 职场文书
先进党组织事迹材料
2014/12/26 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
会计专业自荐信范文
2019/05/22 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript