欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AJAX中文亂碼問題探討及解決

 更新時(shí)間:2013年10月25日 09:20:08   作者:  
AJAX中文問題分為兩大類:一是發(fā)送路徑中的參數(shù)有中文,在服務(wù)器段接收參數(shù)值是亂碼二是返回來的responseText或responseXML的值中含有中文是亂碼,下面為大家介紹下解決方法
AJAX中文問題分為兩大類:
1)發(fā)送路徑中的參數(shù)有中文,在服務(wù)器段接收參數(shù)值是亂碼

例如:
var url="a.jsp?name=小李";
xmlHTTP.open ("post",url,true);

解決辦法:
利用javascript的提供的escape()或encodeURI()方法

例如:
客戶端:
var url="a.jsp?name=小李";
url=encodeURI(url);
url=encodeURI(url); //兩次,很關(guān)鍵[具體為什么,我也不清楚]
/********************************************/
也有人寫成var url="a.jsp?name=escape("小李")";
功能和encodeURI方法類似。
/********************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//指定發(fā)送數(shù)據(jù)的編碼格式
xmlHTTP.open ("post",url,true);

服務(wù)器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode(name, "UTF-8");

2)返回來的responseText或responseXML的值中含有中文是亂碼
原因:AJAX在接收responseText或responseXML的值的時(shí)候是按照UTF-8的格式來解碼的,如果服務(wù)器段發(fā)送的數(shù)據(jù)不是UTF-8的格式,那么接收responseText或responseXML的值有可能為亂碼。
解決辦法:在服務(wù)器指定發(fā)送數(shù)據(jù)的格式:

在服務(wù)端:
復(fù)制代碼 代碼如下:

response.setCharacterEncoding("UTF-8");
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件
response.setContentType("application/json");//返回json文件
PrintWriter bw = response.getWriter();//輸出要使用此類
bw.write(result);
bw.flush();
bw.close();

總結(jié):1)ajax提交數(shù)據(jù)的格式默認(rèn)為utf-8,利用javascript的提供的escape()或encodeURI()方法.在服務(wù)器端接收的時(shí)候要使用java.net.URLDecoder.decode("","UTF-8")方法進(jìn)行解碼.
2)xtmlhttp 返回的數(shù)據(jù)默認(rèn)的字符編碼是utf-8,所以服務(wù)器要向客戶端發(fā)送數(shù)據(jù)的時(shí)候,也要采用utf-8編碼
如果上述方法仍然解決不了亂碼問題,那你嘗試一下把jsp,htm,java文件用UTF-8編碼格式保存.
總之:前后臺(tái)數(shù)據(jù)交互都采用utf-8編碼就行了.

相關(guān)文章

  • ajax實(shí)現(xiàn)點(diǎn)擊不同的鏈接讓返回的內(nèi)容顯示在特定div里

    ajax實(shí)現(xiàn)點(diǎn)擊不同的鏈接讓返回的內(nèi)容顯示在特定div里

    過ajax實(shí)現(xiàn)在一個(gè)web頁(yè)面點(diǎn)擊不同的鏈接,然后將返回的結(jié)果顯示在該頁(yè)面固定的div里
    2014-06-06
  • Ajax異步傳輸與PHP實(shí)現(xiàn)交互示例

    Ajax異步傳輸與PHP實(shí)現(xiàn)交互示例

    Ajax異步傳輸想必大家并不陌生吧,下面為大家介紹下與PHP實(shí)現(xiàn)交互的示例,大家不要錯(cuò)過
    2014-01-01
  • ajax 返回值自動(dòng)添加pre標(biāo)簽的解決方法

    ajax 返回值自動(dòng)添加pre標(biāo)簽的解決方法

    ajax返回的內(nèi)容,居然自動(dòng)添加了pre標(biāo)簽,解決方法是修改一般處理程序的返回類型,遇到類似情況的可以參考下
    2014-07-07
  • jquery的ajax同步和異步的理解及示例

    jquery的ajax同步和異步的理解及示例

    最近的項(xiàng)目用了到AJAX同步。這個(gè)同步的意思是當(dāng)JS代碼加載到當(dāng)前AJAX的時(shí)候會(huì)把頁(yè)面里所有的代碼停止加載
    2014-04-04
  • json格式的Ajax提交示例代碼

    json格式的Ajax提交示例代碼

    這篇文章主要介紹了json格式的Ajax提交,需要引入一些jar包及js包,示例代碼如下
    2014-08-08
  • 探秘ajax跨域請(qǐng)求

    探秘ajax跨域請(qǐng)求

    本文講解的是怎么利用ajax實(shí)現(xiàn)跨域請(qǐng)求,那么知道“同源策略”,就可以解決很多疑問:“為毛我的ajax加載不了數(shù)據(jù)!”“為毛瀏覽器控制臺(tái)會(huì)對(duì)我如此漂亮的代碼報(bào)錯(cuò)!”這就是我們今天要主要探討的內(nèi)容了。
    2015-03-03
  • 基于原生ajax與封裝的ajax使用方法(詳解)

    基于原生ajax與封裝的ajax使用方法(詳解)

    下面小編就為大家?guī)硪黄谠鷄jax與封裝的ajax使用方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 淺談Ajax技術(shù)實(shí)現(xiàn)頁(yè)面無刷新

    淺談Ajax技術(shù)實(shí)現(xiàn)頁(yè)面無刷新

    AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)。這篇文章主要介紹了Ajax技術(shù)實(shí)現(xiàn)頁(yè)面無刷新的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • AJAX的跨域問題解決方案

    AJAX的跨域問題解決方案

    跨域簡(jiǎn)單的說,就是從一個(gè)域名的網(wǎng)頁(yè)去訪問另一個(gè)域名網(wǎng)頁(yè)的資源,下面這篇文章主要給大家介紹了關(guān)于AJAX的跨域問題解決的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Ajax實(shí)現(xiàn)列表無限加載和二級(jí)下拉選項(xiàng)效果

    Ajax實(shí)現(xiàn)列表無限加載和二級(jí)下拉選項(xiàng)效果

    這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)列表無限加載和二級(jí)下拉選項(xiàng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論