举个struts+ajax异步验证用户的例子啊 最好做一个简单的例子用户登录,就输出用户名和密码验证,(假如用户名和密码是已经设定的,不用去连数据库,eg:用户名为:dzh 密码为:123)
实现异步验证,当在用户名框输入错误的时候,在输入密码时,用户名框后就有提示说用户名出错了,
请大家帮帮忙啦,万分感谢咯!!!!!!

解决方案 »

  1.   

    现在都已经框架化了,所一AJAX也简单化了,还是给你个以前最原始的AJAX+servlet的例子吧...
    还是很久的了,可能有些错误也说不定,不过思路就这样...
    页面:<%@ page language="java" import="java.util.*"  contentType="text/html;charset=UTF-8"%><html>
      <head>
      
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

      </head>
      <script type="text/javascript">
     
    var XMLHttpReq=false;
    function createXMLHttpRequest(){
      if(window.XMLHttpRequest){ //Mozilla 
      XMLHttpReq=new XMLHttpRequest();
      }
      else if(window.ActiveXObject){
      try{
      XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
      }catch(e){
      try{
      XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
      }catch(e){}
      }
      }
      }
    function send(url){
    createXMLHttpRequest();
    XMLHttpReq.open("GET",url,true);
    XMLHttpReq.onreadystatechange=proce;
    XMLHttpReq.send(null);
    }
    function proce(){
      if(XMLHttpReq.readyState==4){
      if(XMLHttpReq.status==200){
      var res=XMLHttpReq.responseXML.getElementsByTagName("content")[0].firstChild.data;
      window.alert(res);
      }else{
      window.alert("error");
      }
      }
      }
    function check(){
    var name=document.form1.uname.value;
    var psw=document.form1.psw.value;
    if(name==""){
    alert("请输入用户名");return false;
    }else{
    send('login?uname='+name+'&psw='+psw);
    }}


    </script>
      <body>
       <form action="" method="post" name="form1">
    用户名:<input type=text name="uname"><span id="iname" ></span><br>
       密码:<input type=password  name="psw"><span id="ipass" ></span><br>
           <input type="Button" value="提交" onclick="check()">
       </form>
      </body>
    </html>servlet(给一部分就好了): public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    String name=request.getParameter("uname");
    String psw=request.getParameter("psw");
    System.out.println("name="+name);
    System.out.println("pass="+psw);

    response.setContentType("text/xml; charset=UTF-8");
    response.setHeader("Cache-Control","no-cache"); PrintWriter out = response.getWriter();
    out.println("<pront>");
    if(name.equals("admin")){

    out.println("<content>这个用户名可以用!</content>");
    }else{

    out.println("<content>这个用户名no可以用!</content>");
    } out.println("</pront>");

    out.close();
    }
      

  2.   

    想问一下这句会得到什么结果: var res=XMLHttpReq.responseXML.getElementsByTagName("content")[0].firstChild.data; ,谢了,就是可能的结果,firstChild.data是取的哪边的值???
      

  3.   

    out.println("<content>这个用户名可以用!</content>");
    得到content中间的汉字...