源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-04-18 14:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jquery.ajax的url中传递中文乱码问题的解决方法
[b]JQuery[/b] 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中文传递的问题。 [b]1. 修改JQuery代码[/b] 只需要简单的将JQuery的代码加以修改,加上charset=UTF-8就可以了,这样不需要改变改什么web.config或什么在页面中改编码什么的了,也不需要用escapc(str)再在服务端解码。英文怎么传递,中文也怎么传递。 修改用到的jquery文件:jquery-1.4.4.min.js [b]ajaxSettings:[/b]{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded[b];charset=UTF-8[/b]",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest} [b]2. Js代码: [/b]
[u]复制代码[/u] 代码如下:
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代码:
[u]复制代码[/u] 代码如下:
public ActionForward confrimExchangeGoods(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { log.info("确认换货 confrimExchangeGoods start..............."); [b]response.setCharacterEncoding("UTF-8"); //这里要设置一下[/b] String wlCompany = request.getParameter("wlCompany"); String wlId = request.getParameter("wlId"); String proposer = request.getParameter("proposer");      ..... }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部