jquery.ajax的url中傳遞中文亂碼問題的解決方法
JQuery
JQuery默認(rèn)的contentType:application/x-www-form-urlencoded
這才是JQuery正在亂碼的原因,在未指定字符集的時(shí)候,是使用ISO-8859-1
ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。
JQuery的Ajax根本沒有考慮到國(guó)際化的問題,使用了歐洲的字符集,所以才引起了傳遞中文出現(xiàn)亂碼的問題。
而我們的UTF-8則可以解決這一問題。
最終指需要修改JQuery的代碼,顯式聲明contentType使用utf-8字符集,即可解決GB2312中文傳遞的問題。
1. 修改JQuery代碼
只需要簡(jiǎn)單的將JQuery的代碼加以修改,加上charset=UTF-8就可以了,這樣不需要改變改什么web.config或什么在頁面中改編碼什么的了,也不需要用escapc(str)再在服務(wù)端解碼。英文怎么傳遞,中文也怎么傳遞。
修改用到的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("確認(rèn)要換貨嗎")){
$.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("確認(rèn)換貨 confrimExchangeGoods start...............");
response.setCharacterEncoding("UTF-8"); //這里要設(shè)置一下
String wlCompany = request.getParameter("wlCompany");
String wlId = request.getParameter("wlId");
String proposer = request.getParameter("proposer");
.....
}
相關(guān)文章
使用CSS和jQuery模擬select并附提交后取得數(shù)據(jù)的代碼
使用CSS和jQuery模擬select并實(shí)現(xiàn)提交后取得數(shù)據(jù),詳細(xì)實(shí)現(xiàn)及截圖如下,感興趣的朋友可以參考下2013-10-10jQuery結(jié)合PHP+MySQL實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)下拉列表[實(shí)例]
二級(jí)聯(lián)動(dòng)的實(shí)現(xiàn)方法還真不少,實(shí)用性也很強(qiáng),這里結(jié)合一個(gè)學(xué)生信息表的實(shí)例,來分享一下我的實(shí)現(xiàn)過程2011-11-11淺談jQuery綁定事件會(huì)疊加的解決方法和心得總結(jié)
下面小編就為大家?guī)硪黄獪\談jQuery綁定事件會(huì)疊加的解決方法和心得總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10bootstrap+spring boot實(shí)現(xiàn)面包屑導(dǎo)航功能(前端代碼)
這篇文章主要介紹了bootstrap+spring boot實(shí)現(xiàn)面包屑導(dǎo)航,在cms建站時(shí)都會(huì)有這種面包屑導(dǎo)航功能,文中給出了前端實(shí)例代碼,需要的朋友可以參考下2019-10-10分享精心挑選的12款優(yōu)秀jQuery Ajax分頁插件和教程
在這篇文章中,我為大家收集了12個(gè)基于 jQuery 框架的 Ajax 分頁插件,這些插件都提供了詳細(xì)的使用教程和演示2012-08-08jQuery獲取table下某一行某一列的值實(shí)現(xiàn)代碼
這篇文章主要介紹了jQuery獲取table下某一行某一列的值實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04JQuery實(shí)現(xiàn)表格中相同單元格合并示例代碼
一定要注意如果從list的開始元素循環(huán)下去,remove掉一個(gè)元素后,有些元素就找不到了或者說不是要找的那個(gè)元素,感興趣的各位可以研究下哈2013-06-06基于jQuery UI CSS Framework開發(fā)Widget的經(jīng)驗(yàn)
jQuery UI CSS Framework是jQuery UI中的一個(gè)樣式框架,可以利用jQuery Theme roller 來生成自己想要的css樣式效果。我們可以利用jQuery UI的一些框架來開發(fā)出基于jQuery UI CSS Framework效果的插件來。2010-08-08jQuery+css3實(shí)現(xiàn)文字跟隨鼠標(biāo)的上下抖動(dòng)
這篇文章主要介紹了jQuery+css3實(shí)現(xiàn)文字跟隨鼠標(biāo)的上下抖動(dòng)的相關(guān)資料,需要的朋友可以參考下2015-07-07