国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

關于Ajax responseText 的一點闡述

2024-09-01 08:26:03
字體:
來源:轉載
供稿:網友
前一段時間碰到這樣的的問題,ajax從后臺得到的中文信息怎么都是空。后來到網上搜資料,大多是以下這樣。

用ajax來get回一個頁面時,responsetext里面的中文多半會出現亂碼,這是因為xmlhttp在處理返回的responsetext的時候,是把resposebody按utf-8編碼進解碼考形成的,如果服務器送出的確實是utf-8的數據流的時候漢字會正確顯示,而送出了gbk編碼流的時候就亂了。解決的辦法就是在送出的流里面加一個header,指明送出的是什么編碼流,這樣xmlhttp就不會亂搞了。

php:header('content-type:text/html;charset=gb2312');
asp:response.charset("gb2312")
jsp:response.setheader("charset","gb2312");


但是我按照在這種方法,無論如何都沒有成功過。真是誤人子弟啊。先把我的代碼貼出來。
public void doget(httpservletrequest request, httpservletresponse response)
throws servletexception, ioexception
...{
/** *//**
* 設置請求的編碼格式,因為ajax程序默認都是通過utf-8編碼傳遞字符,所以在接收字符前,請設置請求的編碼格式為 utf-8
*/
request.setcharacterencoding("utf-8");
/** *//**
* 設置輸出信息格式,因為ajax在接收返回的信息的時候,默認的也是utf-8編碼,所以返回時,請設置編碼格式為utf-8 如果你要返回的是
* xml 信息,即ajax調用responsexml 則用下面語句代替 該語句
* response.setcontenttype("text/xml;charset=utf-8");//返回的xml文件
*/
response.setcontenttype("text/text;charset=utf-8"); // 返回的是文本信息

printwriter out = response.getwriter();
// out.println("</response>");
if (rs == true)
out.write("<returninfor><return>true</return><infor>用戶名稱不能為空</infor></returninfor>");

out.close();
}


前臺很簡單:
<script language="javascript">
alert( "返回的信息為:"+xmlreq.responsetext )
</script>


就是這樣,無論如何都得不到中文。不知何故。

后來把后臺的 response.setcontenttype("text/text;charset=utf-8"); // 返回的是文本信息,改成 xml 傳遞,則運行正常。

后來發現的確如此 responsetext 不支持中文。至少在我的程序里面是這樣子的。希望大家可以借鑒以下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白沙| 金沙县| 扎兰屯市| 清原| 龙口市| 广河县| 茶陵县| 巴彦淖尔市| 赤壁市| 满洲里市| 霍邱县| 昌黎县| 台中县| 赫章县| 扎兰屯市| 托克逊县| 旬阳县| 旺苍县| 滁州市| 巴里| 金溪县| 横山县| 慈溪市| 锦屏县| 大渡口区| 呼伦贝尔市| 双江| 施秉县| 汶川县| 防城港市| 聂荣县| 恩施市| 梨树县| 垣曲县| 宁强县| 安新县| 丹巴县| 陆良县| 西安市| 瓮安县| 扶绥县|