• ajax学习之1-登录验证之-xml


    xml传递验证后的数据,核心代码:

    register.jsp:

    1 //取出xml格式数据,myXmlHttpRequest.responseXML是个xml dom对象
    2  var mes=myXmlHttpRequest.responseXML.getElementsByTagName("mes");
    3 //mes是个list类型    mes[0]代表取出第一个节点,认为mes下面还有其他节点,所有需要用childNodes[0]
    4   var mes_val=mes[0].childNodes[0].nodeValue;
    5  $("myres").value=mes_val;

    register.jsp:

    1 out.print("<res><mes>用户名不可以用,对不起</mes></res>");

    完整代码如下:

    register.jsp:

     1 <%@ page language="java" import="java.util.*" 
     2 pageEncoding="utf-8"%>
     3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     4 <html>
     5   <head>  
     6     <title>My JSP 'register.jsp' starting page</title>
     7     <script type="text/javascript">
     8     function $(id)
     9     {
    10       return document.getElementById(id);
    11     }    
    12     function getXmlHttpObject(){
    13     var xmlHttpRequest;
    14     //不同浏览器获取对象xmlHttpRequest对象方法不同
    15     if(window.ActiveXObject)
    16     {
    17         //是ie内核
    18         xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");    
    19     }
    20     else{
    21         xmlHttpRequest=new XMLHttpRequest();        
    22     }
    23     return xmlHttpRequest;    
    24     }
    25     var myXmlHttpRequest="";
    26     function chuli()
    27     {
    28         if(myXmlHttpRequest.readyState==4)
    29         {
    30             //取出xml格式数据,myXmlHttpRequest.responseXML是个xml dom对象
    31              var mes=myXmlHttpRequest.responseXML.getElementsByTagName("mes");
    32             //mes是个list类型    mes[0]代表取出第一个节点,认为mes下面还有其他节点,所有需要用childNodes[0]
    33             var mes_val=mes[0].childNodes[0].nodeValue;
    34             $("myres").value=mes_val;
    35         }
    36     }
    37     function checkName()
    38     {
    39         
    40         myXmlHttpRequest=getXmlHttpObject();
    41         if(myXmlHttpRequest)
    42         {
    43             /*
    44             var url="./registerPro.jsp?mytime="+Date()+"&username="+$("username").value;                        
    45             //****************使用get方式提交*****************************
    46             //使用true代表使用异步机制,打开请求
    47             myXmlHttpRequest.open("get",url,true);
    48             //指定回调函数
    49             myXmlHttpRequest.onreadystatechange=chuli;
    50             //真的发送请求,如果是get,则send null,如果是post,则填入实际的数据
    51             myXmlHttpRequest.send(null);
    52             */
    53             //****************使用post方式提交*****************************
    54             var url="./registerProXml.jsp";
    55             var data="username="+$("username").value;
    56             //打开请求,使用true代表使用异步机制
    57             myXmlHttpRequest.open("post",url,true);
    58             //此处有一句话,必须
    59             myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");            
    60             //指定回调函数
    61             myXmlHttpRequest.onreadystatechange=chuli;
    62             //真的发送请求,如果是get,则send null,如果是post,则填入实际的数据
    63             myXmlHttpRequest.send(data);                                    
    64         }
    65         else
    66         {
    67         }
    68     }
    69     //写一个函数
    70     
    71     </script>
    72   </head>
    73   
    74   <body>
    75   <form action=# method="post"> 
    76     用户名:<input type="text" onkeyup="checkName();" name="username" id="username"></input>
    77      <input type="button" value="验证用户名" onclick="checkName();"/>
    78   <input type="text" id="myres" style="color:red;border:0"></input>   
    79      密码:<input type="password" name="pass"></input>
    80      <input type="submit" value="register"/>
    81   </form>
    82   
    83   
    84    <form  action=# method="post">
    85     用户名:<input type="text" name="username"></input>
    86      密码:<input type="text" name="pass"></input>
    87      <input type="submit" value="register"/>
    88   </form>
    89   
    90   </body>
    91 </html>
    View Code

    register.jsp:

     1 <%@ page language="java" import="java.util.*" 
     2 pageEncoding="utf-8"%>    
     3   <%
     4           //告诉服务器不缓存数据
     5           response.setHeader("Cache-Control", "no-cache");
     6           //此处写text/xml一定不要写错
     7           response.setHeader("Content-type","text/xml");
     8         String username=request.getParameter("username");
     9         System.out.println("用户名是"+username);
    10         if(username.equals("yun"))
    11         {    
    12             System.out.println("用户名不可用");                    
    13             out.print("<res><mes>用户名不可以用,对不起</mes></res>");
    14         }    
    15         else
    16         {
    17             System.out.println("可以用啊啊啊");                       
    18             out.print("<res><mes>用户名可以用,恭喜</mes></res>");                    
    19         }    
    20         
    21         
    22      %>
    View Code
  • 相关阅读:
    Codeforces Round #251 (Div. 2) A
    topcoder SRM 623 DIV2 CatAndRat
    topcoder SRM 623 DIV2 CatchTheBeatEasy
    topcoder SRM 622 DIV2 FibonacciDiv2
    topcoder SRM 622 DIV2 BoxesDiv2
    Leetcode Linked List Cycle II
    leetcode Linked List Cycle
    Leetcode Search Insert Position
    关于vim插件
    Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones
  • 原文地址:https://www.cnblogs.com/luckyflower/p/3636892.html
Copyright © 2020-2023  润新知