ajax简单验证

2009-08-26 00:33

register.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/loginchk.js"></script>


</head>
<body>

之前一直认为是form提交了做的判断,但是觉得按钮好像没有提交功能。后来仔细研究了下。是通过

xmlHttp.open("GET", "CheckUser?username=" + tempUsername);发送请求的。我把form注释了又试了试,ok。当然真正做注册的时候当然要form啦!
<!--
<form name="form1" method="post"></form>
-->
username:
<input type="text" name="username" id="username"/>
<input type="button" name="check" value="validate" οnclick="beginCheck()"/>

</body>
</html>

loginchk.js:


//定义一个变量用于存放XMLHttpResquest
var xmlHttp;
//该函数用于创建一个XMLHttpResquest对象
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();

}
//一个启动ajax异步通信的方法
function beginCheck() {
var tempUsername = document.getElementById("username").value;
if (tempUsername == "") {
alert("对不起,请你输入注册名!!!");
return;
}
//创建对象,也就是实例化xmlHttp这个变量
createXMLHttpRequest();
//讲状态触发器绑定到一个函数
xmlHttp.onreadystatechange = processor;
//通过get方法向指定的url建立服务器的调用
xmlHttp.open("GET", "CheckUser?username=" + tempUsername);
//发送请求
xmlHttp.send(null);
}

//用来处理状态改变的函数
function processor() {
var responseContext;
if (xmlHttp.readyState == 4) { // 是逻辑判断,不要写成=
if (xmlHttp.status == 200) {
   responseContext = xmlHttp.responseText;//取出服务器响应内容
   if (responseContext.indexOf("true") != -1) {//包含true字符串
    alert("恭喜您,该注册名有效!");
   } else {
    alert("对不起,该注册名已被使用!");
   }

}
}
}

用来处理的servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();


String[] logined={"chen","zhu","hww","niu"};
//获取客户端提交的信息
String username=request.getParameter("username");
//创建一个存放响应内容的字符串
String responseContext="true";
for(String s:logined){
   if(username.equals(s))
    responseContext="false";//被占用了 false
  
}

//真正应用的时间就可以拿数据库的东西在这判断了。。。


//将处理结果返回给客户端
out.println(responseContext);
out.flush();
out.close();
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值