JQuery中Ajax的Post提交在IE下中文亂碼的解決方法
更新時(shí)間:2014年05月21日 09:21:05 作者:
在JQuery的Ajax POST請(qǐng)求中,進(jìn)行請(qǐng)求,其中的中文在后臺(tái),顯示為亂碼,在FF/Chrome中,可以正常傳遞中文,但是在IE下,則存在問題
引言: 在JQuery的Ajax POST請(qǐng)求中,進(jìn)行請(qǐng)求,其中的中文在后臺(tái),顯示為亂碼,該如何解決呢?
問題的引入:
var regid = $('#oregion').combobox('getValue');
//var sname = $('#sname').val();
var sname = encodeURI($('#sname').val(),"UTF-8");
if(regid!=""&®id!='undefined'){
$.ajax({
async: true,
type : "POST",
dataType : "json",
url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,
success : function(data) {
if(data.mes!=""&&data.mes!=null){
$.messager.alert('Warning',data.mes);
return false;
}
}
});
}
}
以上的代碼在FF/Chrome中,可以正常傳遞中文,但是在IE下,則存在問題,在后臺(tái)輸出的信息為亂碼。
問題嘗試辦法:
1. 設(shè)置了 contentType: "text/plain; charset=utf-8", 問題依然存在
2. 重新檢查了ajax代碼所在的jsp頁面,皆為使用utf-8,但是問題依然存在
3. 在后臺(tái)的java代碼中,強(qiáng)制使用utf-8、gbk、gb2312的編碼轉(zhuǎn)換, 問題依然存在
經(jīng)過分析,判斷其可能與瀏覽器或者JQuery中的內(nèi)容傳輸有關(guān),目前也無法準(zhǔn)確的確定。
解決的辦法:
前段:encodeURI($(dom).val(), "UTF-8"); 使用encodeURI進(jìn)行編碼
后端Java代碼:
URLDecoder.decode(inputStr,"UTF-8"): 后端代碼針對(duì)前段傳遞過來的字符串,進(jìn)行解碼。
總結(jié):
最后就可以針對(duì)Ajax Post請(qǐng)求傳遞過來的字符串信息,就可以正常顯示中文了。
問題的引入:
復(fù)制代碼 代碼如下:
var regid = $('#oregion').combobox('getValue');
//var sname = $('#sname').val();
var sname = encodeURI($('#sname').val(),"UTF-8");
if(regid!=""&®id!='undefined'){
$.ajax({
async: true,
type : "POST",
dataType : "json",
url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,
success : function(data) {
if(data.mes!=""&&data.mes!=null){
$.messager.alert('Warning',data.mes);
return false;
}
}
});
}
}
以上的代碼在FF/Chrome中,可以正常傳遞中文,但是在IE下,則存在問題,在后臺(tái)輸出的信息為亂碼。
問題嘗試辦法:
1. 設(shè)置了 contentType: "text/plain; charset=utf-8", 問題依然存在
2. 重新檢查了ajax代碼所在的jsp頁面,皆為使用utf-8,但是問題依然存在
3. 在后臺(tái)的java代碼中,強(qiáng)制使用utf-8、gbk、gb2312的編碼轉(zhuǎn)換, 問題依然存在
經(jīng)過分析,判斷其可能與瀏覽器或者JQuery中的內(nèi)容傳輸有關(guān),目前也無法準(zhǔn)確的確定。
解決的辦法:
前段:encodeURI($(dom).val(), "UTF-8"); 使用encodeURI進(jìn)行編碼
后端Java代碼:
URLDecoder.decode(inputStr,"UTF-8"): 后端代碼針對(duì)前段傳遞過來的字符串,進(jìn)行解碼。
總結(jié):
最后就可以針對(duì)Ajax Post請(qǐng)求傳遞過來的字符串信息,就可以正常顯示中文了。
相關(guān)文章
Ajax配合Spring實(shí)現(xiàn)文件上傳功能代碼
最近在開發(fā)一個(gè)可以上傳圖片到服務(wù)器的web表面頁面,下面給大家分享需求和實(shí)現(xiàn)思路,需要的的朋友參考下吧2017-05-05
基于Ajax的聊天機(jī)器人功能的實(shí)現(xiàn)
這篇文章主要介紹了基于Ajax的聊天機(jī)器人,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
利用ajax傳遞數(shù)組及后臺(tái)接收的方法詳解
這篇文章主要給大家介紹了關(guān)于利用ajax傳遞數(shù)組及后臺(tái)接收的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-06-06
使用wordpress的$wpdb類讀mysql數(shù)據(jù)庫做ajax時(shí)出現(xiàn)的問題該如何解決
這篇文章主要介紹了使用wordpress的$wpdb類讀mysql數(shù)據(jù)庫做ajax時(shí)出現(xiàn)的問題該如何解決的相關(guān)資料,需要的朋友可以參考下2015-10-10
解析ajax核心XMLHTTPRequest對(duì)象的創(chuàng)建與瀏覽器的兼容問題
這篇文章主要介紹了ajax核心XMLHTTPRequest對(duì)象的創(chuàng)建與瀏覽器的兼容問題。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12
Ajax修改數(shù)據(jù)即時(shí)顯示篇實(shí)現(xiàn)代碼
上一篇我們講了如何使用ajax向數(shù)據(jù)庫添加數(shù)據(jù),今天我們要大家學(xué)習(xí)的課程是:使用ajax修改數(shù)據(jù)庫數(shù)據(jù),并在客戶網(wǎng)頁立即顯示新的內(nèi)容.當(dāng)然在修改的過程中同樣不會(huì)有刷新網(wǎng)頁的情況發(fā)生!2010-10-10
如何實(shí)現(xiàn)ajax延時(shí)發(fā)送在空閑之后去發(fā)送ajax請(qǐng)求
關(guān)鍵字搜索的功能,還是比較實(shí)用的,在實(shí)現(xiàn)過程中就需用到ajax延時(shí)發(fā)送,下面有個(gè)不錯(cuò)的示例,有需要的朋友可以參考下2013-12-12
AJAX應(yīng)用之注冊(cè)用戶即時(shí)檢測(cè)
AJAX應(yīng)用之注冊(cè)用戶即時(shí)檢測(cè)...2006-07-07

