ajax对注册名进行验证是否数据库中存在

ajax对注册名进行验证是否数据库中存在

这个是我在网上看到的一个有错的ajax 我改正确了,却找不到那个帖子了。

用servlet验证:
package Servlet;

import java.io.*;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServlet;


public class CheckServlet extends HttpServlet {
	static HttpServletRequest request = null;
	static HttpServletResponse response = null;
	public static void main(String[] args) throws Exception, IOException{
		CheckServlet c = new CheckServlet();
		c.doPost(request, response);
	}
	
	public static final String DBDRIVER = "com.mysql.jdbc.Driver";
	public static final String DBURL = "jdbc:mysql://localhost:3306/spring";
	public static final String DBUSER = "root";
	public static final String DBPASS = "liangke";

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("gbk");
		response.setContentType("text/html");
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		PrintWriter out = response.getWriter();
		String userid = request.getParameter("userid");// 接受验证的用户名
		try {
			Class.forName(DBDRIVER);
			conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
			String sql = " select * from user where username=?";
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, userid);
			rs = pstmt.executeQuery();

			StringBuffer jsonStr=new StringBuffer();
			jsonStr.append("[{flag:'");
			if(rs.next()){
				jsonStr.append("true',alertTest:'aaa'}]");
				out.println(jsonStr.toString());
			}else{
				jsonStr.append("false',alertTest:'bbb'}]");
				out.println(jsonStr.toString());
		
			}
			
			out.close();

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}
前台显示页面:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<!doctype html>
<html lang="en">
	<body>
		<script>
		//onload 当页面加载的时候会调用这个方法initPage
window.onload = initPage;
function initPage() {
alert("ee");
  document.getElementById("userid").onblur = checkUserid;//引用函数方法。 onblur 事件在用户离开输入框时执行 JavaScript 代码
}	

//创建请求对象
function createRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (tryMS) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (otherMS) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = null;
      }
    }
  }	
  return request;
}


//检查用户名是否重复
function checkUserid(){
alert("dd");
request=createRequest();
 var theName = document.getElementById("userid").value;

request.open("POST","CheckServlet?userid="+theName,true);

request.onreadystatechange=checkUseridCallback;
request.send(null);
document.getElementById("msg").innerHTML="正在验证...";

}
//回调函数
	function checkUseridCallback(){
		if(request.readyState==4){
			if(request.status==200){
				
				var v = request.responseText;			
				var value1= eval(v)[0]; 				
				if( value1.flag=="true"){
					document.getElementById("msg").innerHTML="用户ID重复";
				}else{	
					document.getElementById("msg").innerHTML="此用户ID可以注册";
					
				}
			}
		}
	}
</script>
		<form action="check.jsp" method="POST">
			用户ID:
			<input type="text" id="userid" name="userid">
			<span id="msg"></span>
			<br>
			姓名
			<input type="text" name="name">
		</form>
	</body>
</html>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值