ajax 中文乱码 本帖最后由 zhang2chenggong 于 2010-06-01 10:06:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script language="javascript" type="text/javascript"> var xmlHttp=false; //*********** function createRequest(prefixID,flag) { //alert("调用createRequest function"); try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //alert("Create XMLHttpRequest Sucess! By xmlHttp = new ActiveXObject('Msxml2.XMLHTTP') "); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } //alert("prefix id is: "+prefixID); //调用函数 if(flag=='1') getReplyInfo(prefixID); else if(flag=='2') deleteMessageInfo(prefixID); }//************//回复留言 function getReplyInfo(prefixID) { //alert("调用getReplyInfo function"); var muReply = document.getElementById(prefixID+"replyID").value; //alert(muReply); var url = "/sxzlc/messageboard/adminReply.action?id=" + prefixID+"&muReplay="+muReply; url=encodeURI(url); url=encodeURI(url); //alert(url); try{ xmlHttp.open("GET", url, true); //xmlHttp.setRequestHeader("Content-Type","charset=gb2312"); //alert("open Sucess"); }catch(e3){ alert("open Fail"); } xmlHttp.onreadystatechange = updatePage; try{ xmlHttp.send(null); //alert("send Sucess"); }catch(e4){alert("send Fail"); } }//不回复,直接删除用户的留言 function deleteMessageInfo(prefixID) { //alert("调用deleteMessageInfo function"); var url = "/sxzlc/messageboard/deleteMessage2.action?id=" + escape(prefixID)+"&xmlHTTP="+escape('sxzlc'); //alert(url); try{ xmlHttp.open("GET", url, true); //alert("open Sucess"); }catch(e3){alert("open Fail"); } xmlHttp.onreadystatechange = updatePage; try{ xmlHttp.send(null); //alert("send Sucess"); }catch(e4){alert("send Fail"); } }//************function updatePage() { if (xmlHttp.readyState == 4) { //alert("repopnse had achieve / complete") if (xmlHttp.Status == 200) { { var aaa = xmlHttp.responseText.split("/"); if(aaa[1]==1) hiddenReply(aaa[2]); else alert(aaa[0]); } } } else { //alert("回复失败"); } }//***************** 以上为我的代码,如果你明白AJAX,改一改就可以了注意这里,要编码两次 url=encodeURI(url); url=encodeURI(url); 不好意思,看错了,是servlet到jsp页面这个我也没试过,我只是传过数字,就当帮你顶了 别忘了在servlet中加response.setContentType("text/xml;charset=UTF-8"); 不需要自己编解码servlet response.setCharacterEncoding("UTF-8"); // 设置输出编码response.setContentType("text/xml; charset=UTF-8"); // 通知客户端PrintWriter out = response.getWriter();out.println("<?xml version='1.0' encoding='UTF-8'?>");out.println("<root>中文中文</root>"); // 直接输出汉字out.flush();var res = req.responseXML.documentElement.firstChild.nodeValue;alert(res); // 不会乱码 新手 求助 谢谢 如何使后放上的控件位于前边已放上的控件之上? 谁能帮忙做一下这道题 初学者问题:怎样用Graphics类画出一个矩形! 使用corba遇到一大堆问题,会corba的同志请留下您的MSN,共同探讨 java applet问题,向高手求助。 如何判断一个对象不存在?指这个对象已定义,但没有初始化。 怎样才能知道Toolbar被移动位置,或者被拖拽了出来? 大侠支招,来者有分!!!!!!!!!!!!!! 请问各位哪里有《Java2核心技术卷一,二》的电子书下载啊,谢谢了! 服务器启动报错 java相对路径求助
//***********
function createRequest(prefixID,flag) {
//alert("调用createRequest function");
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
//alert("Create XMLHttpRequest Sucess! By xmlHttp = new ActiveXObject('Msxml2.XMLHTTP') ");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined')
{
xmlHttp = new XMLHttpRequest();
}
//alert("prefix id is: "+prefixID);
//调用函数
if(flag=='1')
getReplyInfo(prefixID);
else if(flag=='2')
deleteMessageInfo(prefixID);
}
//************//回复留言
function getReplyInfo(prefixID) {
//alert("调用getReplyInfo function");
var muReply = document.getElementById(prefixID+"replyID").value;
//alert(muReply);
var url = "/sxzlc/messageboard/adminReply.action?id=" + prefixID+"&muReplay="+muReply;
url=encodeURI(url);
url=encodeURI(url);
//alert(url);
try{
xmlHttp.open("GET", url, true);
//xmlHttp.setRequestHeader("Content-Type","charset=gb2312");
//alert("open Sucess");
}catch(e3){
alert("open Fail");
}
xmlHttp.onreadystatechange = updatePage;
try{
xmlHttp.send(null);
//alert("send Sucess");
}catch(e4){alert("send Fail");
}
}//不回复,直接删除用户的留言
function deleteMessageInfo(prefixID) {
//alert("调用deleteMessageInfo function");
var url = "/sxzlc/messageboard/deleteMessage2.action?id=" + escape(prefixID)+"&xmlHTTP="+escape('sxzlc');
//alert(url);
try{
xmlHttp.open("GET", url, true);
//alert("open Sucess");
}catch(e3){alert("open Fail");
}
xmlHttp.onreadystatechange = updatePage;
try{
xmlHttp.send(null);
//alert("send Sucess");
}catch(e4){alert("send Fail");
}
}
//************
function updatePage() {
if (xmlHttp.readyState == 4) {
//alert("repopnse had achieve / complete")
if (xmlHttp.Status == 200) {
{
var aaa = xmlHttp.responseText.split("/");
if(aaa[1]==1)
hiddenReply(aaa[2]);
else
alert(aaa[0]);
}
}
}
else {
//alert("回复失败");
}
}
//*****************
url=encodeURI(url);
这个我也没试过,我只是传过数字,
就当帮你顶了
response.setContentType("text/xml; charset=UTF-8"); // 通知客户端PrintWriter out = response.getWriter();
out.println("<?xml version='1.0' encoding='UTF-8'?>");
out.println("<root>中文中文</root>"); // 直接输出汉字
out.flush();
var res = req.responseXML.documentElement.firstChild.nodeValue;
alert(res); // 不会乱码