用ajax实现用户名的检测(JavaScript方法)

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <script type="text/javascript">
10 var req;
11 function check()
12 {
13     var url ="CheckUser?uname="+ document.getElementById("uname").value;
14     if (window.XMLHttpRequest)
15     {
16         req = new XMLHttpRequest();
17     }
18     else if (window.ActiveXObject){
19         req = new ActiveXObject("Microsoft.XMLHTTP");
20     }       
21     req.open("GET",url, true);
22     req.onreadystatechange = show;
23     req.send(null);
24     alert("hhhh");
25 }
26 function show(){
27     if (req.readyState == 4) {
28         if (req.status == 200) {
29             document.getElementById("info").innerHTML=req.responseText;
30         }
31     }
32 }
33 </script>
34 <body>
35 <table>
36 <tr><td>用户名</td><td><input type="text" id="uname" ></td></tr>
37 <tr><td><input type="button" onClick="check()" value="检测用户"></td><td><div id="info"></div> </td></tr>
38 </table>
39 </body>
40 </html>
 1 package javastudy;
 2 
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.annotation.WebServlet;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 
10 /**
11  * Servlet implementation class CheckUser
12  */
13 @WebServlet("/CheckUser")
14 public class CheckUser extends HttpServlet {
15     private static final long serialVersionUID = 1L;
16        
17     /**
18      * @see HttpServlet#HttpServlet()
19      */
20     public CheckUser() {
21         super();
22         // TODO Auto-generated constructor stub
23     }
24 
25     /**
26      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
27      */
28     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
29         // TODO Auto-generated method stub
30         String uname=request.getParameter("uname");
31         String[] names={"zhang","yang","wang"};
32         boolean flag=true;
33         for(int i =0;i<names.length;i++)
34         {
35             if(names[i].equals(uname))
36             {
37                 flag=false;
38                 break;
39             }
40             
41         }
42         response.setCharacterEncoding("utf-8");
43         if(flag==false)
44         {
45             response.getWriter().println("该用户名已注册!!!");
46         }
47         else
48         {
49             response.getWriter().println("注册成功!!!");
50         }
51 //    response.getWriter().append("Served at: ").append(request.getContextPath());
52     }
53 
54     /**
55      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
56      */
57     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
58         // TODO Auto-generated method stub
59     doGet(request, response);
60     }
61 
62 }

 

转载于:https://www.cnblogs.com/xiadongqing/p/5094537.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Ajax技术实现检测注册用户名是否重复,具体实现步骤如下: 1. 在注册页面添加一个用户名输入框和一个检测按钮。 2. 当用户输入完用户名后,点击检测按钮触发Ajax请求。 3. 在Ajax请求中,将用户名作为参数传递给服务器端。 4. 服务器端根据传递的用户名,在数据库中查询是否存在相同的用户名。 5. 服务器端将查询结果返回给客户端。 6. 客户端接收到服务器端返回的结果后,根据结果提示用户该用户名是否可用。 以下是一个简单的Ajax实现检测注册用户名是否重复的示例代码: ``` // HTML代码 <input type="text" id="username" /> <button onclick="checkUsername()">检测用户名</button> // JavaScript代码 function checkUsername() { var username = document.getElementById("username").value; var xhr = new XMLHttpRequest(); xhr.open("POST", "check_username.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var result = xhr.responseText; if (result == "exist") { alert("该用户名已存在,请重新输入!"); } else { alert("该用户名可用!"); } } }; xhr.send("username=" + username); } // PHP代码(check_username.php) $username = $_POST["username"]; // 在数据库中查询是否存在相同的用户名 if (存在相同的用户名) { echo "exist"; } else { echo "not exist"; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值