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();

}

}

}

}

前台显示页面:

//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可以注册";

}

}

}

}

用户ID:

姓名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值