- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) >
- ajax提交到servelt獲取參數有亂碼如何解決
本篇內容主要講解“ajax提交到servelt獲取參數有亂碼如何解決”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強。下面就讓小編來(lái)帶大家學(xué)習“ajax提交到servelt獲取參數有亂碼如何解決”吧!
復制代碼 代碼如下:
response.setContentType("text/html;charset=UTF-8");
而且JSP頁(yè)面編碼方式可以隨意設定,GBK、GB2312、UTF-8,當然
ISO-8859-1是不行的,至少你要在頁(yè)面顯示中文。
從js腳本傳中文到servlet,問(wèn)題因xmlHttp對象open()方法中,傳值方式(GET、POST)不同,而分為兩種情況:
在介紹這個(gè)問(wèn)題之前,先將兩種傳值方式區別展示一下:
假設傳遞值“軟件工程”,變量名為“selcol”。
1、GET方法:
復制代碼 代碼如下:
function selectCol(){
createXMLHttpRequest();
var selcol = "
軟件工程
復制代碼 代碼如下:
";
var url = "/emp/FindSpecial?selcol=" + selcol;
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
2、POST方法:
復制代碼 代碼如下:
function selectCol(){
createXMLHttpRequest();
var selcol = "selcol=軟件工程";
var url = "/emp/FindSpecial";
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("POST",url,true);
xmlHttpxmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send(selcol);
}
如果使用GET方式傳遞,那么我們在servlet拿值的時(shí)候,以如下方式轉編碼:
復制代碼 代碼如下:
String selcol = new String(request.getParameter("selcol").getBytes("ISO-8859-1"), "GBK");
轉GBK、GB2312都行,轉UTF-8不行!
這個(gè)時(shí)候也許你會(huì )很奇怪的發(fā)現,這兩個(gè)語(yǔ)句竟然同時(shí)出現:
復制代碼 代碼如下:
response.setContentType("text/html;charset=UTF-8");
String selcol = new String(request.getParameter("selcol").getBytes("ISO-8859-1"), "GBK");
個(gè)人是這樣理解的:第一句僅保證,從此servlet傳遞出去的數據編碼方式為UTF-8;
而后者則是將傳遞進(jìn)來(lái)的數據轉化成GBK編碼的數據。方便與辨別和處理。
如果使用POST方式傳遞,那么我們在servlet拿值的時(shí)候,同上,只是將編碼轉為UTF-8,
而這個(gè)時(shí)候,GBK和GB2312不行!
復制代碼 代碼如下:
String selcol = new String(request.getParameter("selcol").getBytes ("ISO-8859-1"), "UTF-8");
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系站長(cháng)郵箱:ts@56dr.com進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2 建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站