加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

jquery.ajax的url中传递中文乱码问题的处理方法

发布时间:2023-10-04 14:28:29 所属栏目:教程 来源:
导读:JQuery默认的contentType:application/x-www-form-urlencoded

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

ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺
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");
 
     .....
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章