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 相关文章推荐
JavaScript对内存分配及管理机制详细解析
Nov 11 Javascript
jquery自动填充勾选框即把勾选框打上true
Mar 24 Javascript
JavaScript中输出标签的方法
Aug 27 Javascript
javascript封装简单实现方法
Aug 11 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
浅谈Vue render函数在ElementUi中的应用
Sep 06 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
微信小程序使用字体图标的方法
May 23 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 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
德劲1103的维修打理经验
2021/03/02 无线电
PHP 中关于ord($str)>0x80的详细说明
2012/09/23 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
javascript add event remove event
2008/04/07 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
python服务器端收发请求的实现代码
2014/09/29 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Python3计算三角形的面积代码
2017/12/18 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
Python try except finally资源回收的实现
2021/01/25 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
师范生求职自荐信
2014/06/14 职场文书
超市周年庆活动方案
2014/08/16 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
Python利用folium实现地图可视化
2021/05/23 Python
Python中异常处理用法
2021/11/27 Python
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
R9700摩机记
2022/04/05 无线电