jquery.ajax的url中传递中文乱码问题的解决方法
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");
.....
}
相关文章
使用CSS和jQuery模拟select并附提交后取得数据的代码
使用CSS和jQuery模拟select并实现提交后取得数据,详细实现及截图如下,感兴趣的朋友可以参考下2013-10-10jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
二级联动的实现方法还真不少,实用性也很强,这里结合一个学生信息表的实例,来分享一下我的实现过程2011-11-11bootstrap+spring boot实现面包屑导航功能(前端代码)
这篇文章主要介绍了bootstrap+spring boot实现面包屑导航,在cms建站时都会有这种面包屑导航功能,文中给出了前端实例代码,需要的朋友可以参考下2019-10-10分享精心挑选的12款优秀jQuery Ajax分页插件和教程
在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示2012-08-08基于jQuery UI CSS Framework开发Widget的经验
jQuery UI CSS Framework是jQuery UI中的一个样式框架,可以利用jQuery Theme roller 来生成自己想要的css样式效果。我们可以利用jQuery UI的一些框架来开发出基于jQuery UI CSS Framework效果的插件来。2010-08-08利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
本篇文章主要对jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)的使用做了简要分析说明。需要的朋友来看下吧2016-12-12
最新评论