把res.getElementsByTagName("message")[0].firstChild.data;
改为
res.getElementsByTagName("response")[0].firstChild.data;看看

解决方案 »

  1.   

    如何要改成res.getElementsByTagName("response")的话。
    就应该
    var passed=res.getElementsByTagName("passed").firstChild.data了。好像服务器那边传过来的var res=xmlHttp.responseXML;里没有东西。我怎么样才能知道res里有没有内容啊?
      

  2.   

    服务器Servlet的代码是StringBuffer results=new StringBuffer("<response>");
    results.append(" <passed>false</passed>");
    results.append("<message>You have entered is invalid</message>");
    results.append("</rsponse>");
    response.getWriter().write(results.toString());
      

  3.   

    </rsponse> ------></response>
      

  4.   

    找到答案了。
    答案的网址为:http://radio.javaranch.com/pascarello/2006/09/12/1158096122600.html原来很多外国人也有同样的问题。哈哈。Ajax in action的作者在他的blog上回答了这个问题。