js页面代码:
 function check_UserName(){
        var obj = document.getElementById("text_UserName");
        var req = new xmlRequst();
        var responseText=callback;
        xmlhttp.onreadystatechange = callback;
                      switch (responseText) {
                           case '0':
                                  ...........                           
                           case '1':
                                  ............ 
                           case '2':
                                  ...........
xml函数:  var xmlhttp;
    function xmlRequst(){
         var userName = document.getElementById("text_UserName").vaule;
    if(window.XMLHttpRequest){
         xmlhttp = new XMLHttpRequest();
              if(xmlhttp.overrideMimeType){
               xmlhttp.overrideMimeType("text/xml")
    }
    }else if(window.ActiveXObject){
       var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
    for(var i=0;i<activexName.length;i++){
    try{
          xmlhttp = new ActiveXObject(activexName[i]);
    break;
    }   catch(e){
    }
    }
    }
              if(!xmlhttp){
              alert("XMLHttpRequest对象创建失败!");
               
         }else{
          alert(xmlhttp);
           alert(xmlhttp.readyState);
           }             xmlhttp.onreadystatechange = callback;        xmlhttp.open("GET","zhucecheck?name="+userName,true);       xmlhttp.send(null);
    }回调函数:
       var xmlhttp;
    function callback(){
     //var xmlhttp;
      alert(xmlhttp);
      alert(xmlhttp.readyState);
       if(xmlhttp.readyState==4){
        if(xmlhttp.status==200){
          var responseText = xmlhttp.responseText;
    alert ("dedao");
         }else
    {
    
    alert("出错了");
    }
    }
    return responseText;
    }
servlet代码:public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{ request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
           String old = request.getParameter("name");            System.out.print("规矩");
            if(old == null || old.length() == 0) {
out.println("0");
} else {
 

}
            String name = new String(old.getBytes("gb2312"),"UTF-8");
    //传过去处理。
            checkuec cu=new checkuec();
            if(cu.checkuec(old)){
             out.println("1");
             System.out.println("对了");            }else{
             System.out.println("错了");
             out.println("2");
            }

}catch(Exception e){
             e.printStackTrace();
            }
}
js与xml在同一个页面。我觉得是红色部分没写对,没有得到callback的字符串。因为,我测试的时候,servlet的system。out能输出提示。不知道对不对呢?求大家给点专业的解释啊!!!!

解决方案 »

  1.   

    后台不要out.println
    改为
    response.getWriter().write('字符串');
      

  2.   

    还是不行啊?!!!我的xml   alert(xmlhttp);alert(xmlhttp.readyState);出来后提示是 undefined(未定义)是什么意思啊??!!!
      

  3.   

    你的ajax封装的有问题 网上搜一个封装 或者用jquery的ajax吧 也不用封装 直接拿过来用
      

  4.   

    求详解啊,哥哥?!!!
    我本来是xml放在另一个页面的,但是我不知道它和那个js之间怎么连接起来,传值。所以我就写在一起,方便传值。但是似乎有问题的。求解。