本帖最后由 zhang2chenggong 于 2010-06-01 10:06:39 编辑

解决方案 »

  1.   

    <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("回复失败");
       }  
    }
    //*****************
      

  2.   

    以上为我的代码,如果你明白AJAX,改一改就可以了注意这里,要编码两次  url=encodeURI(url);  
      url=encodeURI(url); 
      

  3.   

    不好意思,看错了,是servlet到jsp页面
    这个我也没试过,我只是传过数字,
    就当帮你顶了
      

  4.   

    别忘了在servlet中加response.setContentType("text/xml;charset=UTF-8");
      

  5.   

    不需要自己编解码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); // 不会乱码