AJAX技術使用XMLHttpRequest物件傳遞引數的中文亂碼問題
針對這種問題的解決方案,我總結大致有兩種:
一,在瀏覽器端對要傳遞的中文引數進行編碼處理.程式碼如下:
xmlhttp.open("POST","AjaxServlet",true); //請求引數初始化
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //因為請求方式為POST,所以這裡要設定請求頭.(如果請求方式為GET,此句程式碼可以省略)
xmlhttp.send("name="+encodeURI(encodeURI("中國"))); //向伺服器端傳送引數
在伺服器端程式碼:
PrintWriter out = response.getWriter(); //得到response的輸出流物件
String name1 = request.getParameter("name"); //得到KEY為"name"的請求引數
String name = URLDecoder.decode(name1,"utf-8"); //對得到的引數進行解碼
out.print(name); //向瀏覽器端傳送資料
二,在瀏覽器端對要傳遞的中文引數進行編碼處理.程式碼如下:
xmlhttp.open("POST","AjaxServlet",true); //請求引數初始化
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //因為請求方式為POST,所以這裡要設定請求頭.(如果請求方式為GET,此句程式碼可以省略)
xmlhttp.send("name="+encodeURI("中國")); //向伺服器端傳送引數
在伺服器端程式碼:
PrintWriter out = response.getWriter(); //得到response的輸出流物件
String name1 = request.getParameter("name"); //得到KEY為"name"的請求引數
String name = new String((name1.getBytes("ISO-8859-1")),"UTF-8"); //對得到的引數進行解碼
out.print(name); //向瀏覽器端傳送資料
以上兩種方法,在使用XMLHttpRequest物件傳遞中文引數時,亂碼問題可以在任意瀏覽器下解決,正確顯示中文.
該文章轉載自網路大本營:http://www.xrss.cn/Dev/AJAX/2007101717013.Html
相關推薦
AJAX技術使用XMLHttpRequest物件傳遞引數的中文亂碼問題
在瀏覽器端使用XMLHttpRequest物件向伺服器端傳送中文引數,如果不在瀏覽器端和伺服器端進行處理時,會出現中文亂碼問題.針對這種問題,有很多的解決辦法,但往往都是在IE下可以正常顯示中文,在其他瀏覽器下(比如FireFox)卻仍然是亂碼.在FireFox下解決了亂
url中向後臺傳遞引數中文亂碼
方法一: 1、jsp中程式碼 var userNo = $('#prisoner_id').val(); userNo = encodeURI(userNo); allPrisonerGrid.datagrid('options').url = 'mobilemanage!all
解決get方法傳遞URL引數中文亂碼問題
應用一:解決tomcat下中文亂碼問題(先來個簡單的) 在tomcat下,我們通常這樣來解決中文亂碼問題: 過濾器程式碼: package filter; import java.io.*; import javax.servlet.*; impor
解決get方法傳遞URL引數中文亂碼和解決tomcat下中文亂碼問題
應用一:解決tomcat下中文亂碼問題(先來個簡單的) 在tomcat下,我們通常這樣來解決中文亂碼問題: 過濾器程式碼: Java程式碼 package filter; import java.io.*; import javax.servlet.*;
postman測試請求引數中文亂碼問題
用IDEA除錯程式碼時,用postman測試請求url,發現post或者get請求中引數是中文的話,後臺獲取的引數是亂碼, 一般兩個方面 傳送請求的一方:postman的問題 接受請求的一方:tomcat的問題 postman的解決方案,可以先設定全域性變數,將漢字寫到變數,並在引數中新增全域性變數引
.AJAX - 建立 XMLHttpRequest 物件
1.建立 XMLHttpRequest 物件: variable=new XMLHttpRequest(); 老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 物件: variable=new ActiveXObject("Microsoft.XM
JavaScript原生ajax(XMLHttpRequest物件)用法
傳統方法的缺點: 傳統的web互動是使用者觸發一個http請求伺服器,然後伺服器收到之後,在做出響應到使用者,並且返回一個新的頁面,每當伺服器處理客戶端提交的請求時,客戶都只能空閒等待,並且哪怕只是一次很小的互動、只需從伺服器端得到很簡單的一個數據,都要返回一個
Response物件響應的中文亂碼處理
在開發中,我們經常會遇到使用Response物件響應中文,會遇到亂碼,有些人遇到了不知道怎麼處理,會放在那裡不管,我這裡分享下我對於Response物件響應中文亂的碼處理的一些心得吧: /** * Response響應中文的處理 */ public clas
Ajax實現Map物件傳遞
噠噠噠 js程式碼 //變更儲存 function changeSave() { var $formParams = $('#form-info').serializeJson();
解決@Value("${name}")獲取application.properties中定義的引數中文亂碼的問題
application.properties中引數如圖: pom.xml中設定如圖 但程式碼 import org.springframework.web.bind.annotation.RestController; @RequestMappin
get請求和post請求引數中文亂碼的解決
首先出現中文亂碼的原因是tomcat預設的編碼方式是"ISO-8859-1",這種編碼方式以單個位元組作為一個字元,而漢字是以兩個位元組表示一個字元的。 post請求引數中文亂碼的解決辦法 對於post請求,請求中問亂碼的兩種解決辦法。 (1): request.set
java web專案介面請求get,post請求引數中文亂碼解決
java web專案介面請求get,post請求引數中文亂碼解決 在開發過程中,有時候會碰到get,post請求引數中文亂碼。 原因: Http請求傳輸時將url以ISO-8859-1編碼,伺服器收到位元組流後預設會以ISO-8859-1編碼來解碼成字元
直接用ajax的get方式傳遞引數要encodeURI()
web伺服器預設會進行URLdecode操作。 在瀏覽器的位址列輸入網址,如果有空格等url需要編碼的字元會自動轉義編碼。 但是用ajax的get方式傳遞引數不會自動編碼,所以要用encodeURI() 進行轉義編碼,否則如果遇到比如空格等需要轉義編碼的字元沒有進行轉義編
jQuery之非同步Ajax請求使用 通過傳遞引數來呼叫後臺方法返回狀態
$.ajax({type:'',data:'',async:''...}) 引數: 1.cache: true快取頁面 false 不快取頁面 (預設: true,dataType為script和jsonp時預設為false) 1.type: GET /POST 請求方式 ("POST" 或 "GET"
jsp-連結傳遞引數出現亂碼問題
在 tomecat的安裝路徑上 開啟tomcat->conf->server.xml 找到 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20
jsp a連結新增URL引數中文亂碼
<a href="javascript:void(0)" onclick="javascript:window.open(encodeURI(encodeURI('${pageContext.request.contextPath}/index?order=${nowProType}&
解決HttpClient工具中application/x-www-form-urlencoded表單提交時,請求引數中文亂碼問題
一、引數亂碼現象 當我去請求第三方介面時,介面接收格式為Form表單的時候,使用HttpClient工具類。這時,對於封裝進HttpPost物件裡的請求引數,如果有中文引數,會出現亂碼的現象。 二、程式碼現象復現 controller層 @RestContr
SpringMVC之GET請求引數中文亂碼
只怪自己專案做太少,遇到這些問題糾結太久,浪費時間太多. 在此記錄, WEB.XML檔案中的編碼過濾器設定是針對POST請求的,tomacat對GET和POST請求處理方式是不同的,要處理針對GET請求的編碼問題,則需要改tomcat,conf目錄下的server.x
$.ajax在谷歌瀏覽器傳入中文亂碼的情況
有運營同學反映,後臺編輯的一箇中文顯示名稱,前臺亂碼了,於是乎~~ 先看程式碼是否get請求沒轉碼: [javascript] view plain copy $.ajax({ type: 'POST', url: '/adm
Tomcat配置導致輸入引數中文亂碼
配置 server.xml。 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPor