教程集 www.jiaochengji.com
教程集 >  jQuery  >  jquery 教程  >  正文 jquery.ajax的url中传递中文乱码问题的解决方法

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

发布时间:2014-06-27   编辑:jiaochengji.com
本篇文章主要是对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};

    }

}

});

     }

 }

您可能感兴趣的文章:
jquery.ajax的url中传递中文乱码问题的解决方法
PHP URL传递中文乱码问题解决办法
真正的JQuery.ajax传递中文参数的解决方法
JQuery.ajax传递中文参数的解决方法 推荐
js代码解决url传值出现中文乱码的方法参考
js url传值中文乱码的简单解决办法
php网页标题中文乱码如何解决
asp读sql数据时出现乱码问题的解决方法
Get中文乱码IE浏览器Get中文乱码解决方案
ASP.NET url传递中文乱码的解决方法

关键词: jquery  ajax  乱码   
[关闭]
~ ~