ajax驗證用戶名是否存在

   需求: 利用ajax實現 當輸入用戶名時,驗證該用戶名是否已經存在,如果存在,給出重新輸入用戶名,不存在,提示可以使用。簡單起見,如果用戶名不等於 'shizhan',則可以使用。

     html頁面:

     

  1. <%@ page language="java" pageEncoding="utf-8"%>  
  2.   
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.     <head>  
  7.        <script type="text/javascript" src="js/register.js"></script>  
  8.     </head>  
  9.     <body>  
  10.         <form>  
  11.             用戶名  
  12.             <input type="text" name="username" id="username" />  
  13.             <input type="button" value="提交" id="btn1"/>  
  14.             <div id="myDiv"></div>  
  15.         </form>  
  16.     </body>  
  17. </html>  

     我們利用js給提交按鈕綁定事件。js代碼:

     

[javascript] view plaincopy
  1. var xmlhttp;  
  2.   
  3. window.onload = function()  
  4. {  
  5.     var btn1 = document.getElementById("btn1");  
  6.     btn1.οnclick= loadXMLDoc;  
  7. }  
  8.   
  9.   
  10. function loadXMLDoc()   
  11. {  
  12.     if (window.XMLHttpRequest)   
  13.     {// code for IE7+, Firefox, Chrome, Opera, Safari  
  14.         xmlhttp = new XMLHttpRequest();  
  15.     }  
  16.     else  
  17.     {// code for IE6, IE5  
  18.         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
  19.     }  
  20.     //綁定回調函數  
  21.     xmlhttp.onreadystatechange = function()  
  22.     {  
  23.         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)   
  24.         {  
  25.             document.getElementById("myDiv").innerHTML = xmlhttp.responseText;  
  26.         }  
  27.     }  
  28.     //取得輸入的值  
  29.     var name = document.getElementById("username").value;  
  30.     //第一個參數表示post請求,第二個參數表示提交給AjaxServlet,第三個參數爲true,表示異步請求  
  31.     xmlhttp.open("POST""AjaxServlet"true);  
  32.     xmlhttp.setRequestHeader("Content-Type""application/x-www-form-urlencoded");  
  33.     xmlhttp.send("name="+name);  
  34. }  

    響應的servlet:

     

  1. package com.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. public class AjaxServlet extends HttpServlet {  
  11.   
  12.       
  13.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  14.             throws ServletException, IOException {  
  15.         doPost(request,response);  
  16.     }  
  17.   
  18.   
  19.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  20.             throws ServletException, IOException {  
  21.   
  22.         response.setContentType("text/html");  
  23.         response.setCharacterEncoding("utf-8");  
  24.       
  25.         PrintWriter out = response.getWriter();  
  26.         String name = request.getParameter("name");   
  27.         System.out.println(name);  
  28.         if(name.equals("shizhan"))  
  29.         {  
  30.            out.write("用戶名已經存在,請更換");  
  31.         }  
  32.         else  
  33.         {  
  34.            out.write("用戶名可以使用");  
  35.         }  
  36.         out.flush();  
  37.         out.close();  
  38.     }  
  39.   
  40. }  

   結果頁面:

   輸入sss,點擊提交

   

    輸入shizhan,點擊提交

    

來源:http://blog.csdn.net/linshizhan/article/details/7915939


  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章