关于ajax+jsp实现异步校验用户名是否存在的实例(.txt文本)

<html>
	<head>
		<title>用户注册</title>
		<meta http-equiv="content-type" content="text/html;charset=gb2312">
		<script language="javascript" type="text/javascript">
		<!--
			//定义用于存储XMLHttpRequest对象的变量
			var xmlHttp = null;

			//创建XMLHttpRequest对象
			function creatXMLHTTP()
			{
				//判断浏览器是否支持ActiveX控件
				if(window.ActiveXObject)
				{
					//将所有可能出现的ActiveXObject版本都放在一个数组中
					var arrXmlHttpTypes = [‘Microsoft.XMLHTTP‘,‘MSXML2.XMLHTTP.6.0‘,,‘MSXML2.XMLHTTP.5.0‘,‘MSXML2.XMLHTTP.4.0‘,‘MSXML2.XMLHTTP.3.0‘,‘MSXML2.XMLHTTP‘];
					//通过循环创建XMLHttpRequest对象
					for(var i=0;i<arrXmlHttpTypes.length;i++)
					{
						try
						{
							//创建XMLHttpRequest对象
							xmlHttp = new ActiveXObject(arrXmlHttpTypes[i]);
							//如果创建XMLHttpRequest对象成功,则跳出循环
							break;
						}
						catch(ex)
						{
						}
					}
				}
				//判断浏览器是否将XMLHttpRequest作为本地对象实现
				else if(window.XMLHttpRequest)
				{
					xmlHttp = new XMLHttpRequest();
				}
			}

			//响应XMLHttpRequest对象状态变化的函数
			function httpStateChange()
			{
				if (xmlHttp.readyState==4)
				{
					if (xmlHttp.status==200 || xmlHttp.status==0)
					{
						//获得服务器返回的数据
						var userNames = xmlHttp.responseText;
						var arrUserName = userNames.split(";");
						//定义一个变量,用于判断用户名是否已经存在
						var bFlag = false;

						for (i=0;i<arrUserName.length;i++)
						{
							if (arrUserName[i]==myForm.myName.value)
							{
								bFlag = true;
								break;
							}
						}

						//查找节点
						var node = document.getElementById("myDiv");
						//更新数据
						if (bFlag)
						{
							node.firstChild.nodeValue = "用户名已经存在";
							myForm.submitButton.disabled = true;
						}
						else
						{
							node.firstChild.nodeValue = "用户名不存在,可以使用";
							myForm.submitButton.disabled = false;
						}
					}
				}
			}

			//校验用户名是否有效
			function checkName()
			{
				//创建XMLHttpRequest对象
				creatXMLHTTP();
				if (xmlHttp!=null)
				{
					//创建响应XMLHttpRequest对象状态变化的函数
					xmlHttp.onreadystatechange = httpStateChange;
					//创建HTTP请求
					xmlHttp.open("get","userName.txt",true);
					//发送HTTP请求
					xmlHttp.send(null);
				}
				else
				{
					alert("您的浏览器不支持XMLHTTP,请更换浏览器后再进行注册。");
				}
			}
		-->
		</script>
	</head>
	<body>
		<p align="center"><b>用户注册</b></p>
		<form name="myForm">
			用   户   名:<input type="text" name="myName" onblur="checkName()">
			<span id="myDiv"> </span><br>
			输入登录密码:<input type="password" name="password"><br>
			再次输入密码:<input type="password" name="password2"><br>
			请  输入邮箱:<input type="text" name="email"><br>
			密码查询问题:<input type="text" name="question"><br>
			密码查询答案:<input type="text" name="answer"><br>
			<input type="button" value="提交" name="submitButton" disabled>
		</form>
	</body>
</html>

效果演示:

  

说明:
1.onreadystatechange 请求状态改变的事件触发器(readyState变化时会调用此方法)
2.readyState有五中状态:
readyState = 0 未初始化
readyState = 1 表示open方法成功调用
readyState = 2 服务器已经应答客户端请求
readyState = 3 交互中。Http头信息已经接收,响应数据尚未接收。
readyState = 4 数据接收完成。
3.onblur方法:文本框失去焦点时响应的方法,
<span id="myDiv"> </span><br>用于放置校验后的提示信息
4.校验步骤:
创建XMLHttpRequest对象---->创建HTTP请求----->发送HTTP请求------>返回请求-----校验。
本实例是连接txt文本文件实现校验的

连接数据库的校验方式参考:http://blog.csdn.net/javaalpha/article/details/6559176

时间: 2024-08-25 11:33:19

关于ajax+jsp实现异步校验用户名是否存在的实例(.txt文本)的相关文章

基于AJAX用户注册信息异步校验

周末无事,自己写了一个用户注册信息的,异步校验.不多说,直接上源码: check.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+reque

力所能及之使用Struts控制器异步校验用户名是否重复

操作系统:Windows 7 应用程序服务器:apache-tomcat-6.0.18 开发工具:MyEclipse8.6 Java版本:JDK1.6 MyBatis: 3.2.2 Struts版本:struts-2.3 jQuery版本:jquery-1.4.2.js MySql版本: 5.0 MySQL Community Server (GPL) mysql-connector-java:5.0.18 2013年4月16日注:本例中采用的JSON数据格式,推荐使用性能更好的jackson进

异步校验用户名是否存在

第一步: 导入jquery <script src="js/jquery-1.11.3.min.js" type="text/javascript"></script> 第二步: 建个表单和输入框 <body> <form > 输入用户名:<input type="text" id="username" > </form> </body> 第三

jsp利用cookie记住用户名,下次登录时显示在文本框中(仅仅一个Cookie就整了将近三个小时,⊙﹏⊙b汗)

<%@page import="java.net.URLDecoder"%> <%@page import="sun.security.util.Length"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html

使用Ajax完成用户名异步校验--【SSH】

1.事件触发--onblur <td><!-- onblur用户离开输入框的时候执行 --> <input type="text" id="username" name="username" class="text" maxlength="20" onblur="checkUsername()"> <span id="span1&quo

AJAX异步校验

前台JS代码 /*异步验证用户名的输入格式以及是否存在*/ function CheckUsername(){ /*取到用户名输入框*/ var nametxt = document.getElementById("username"); /*获取输入的用户名值*/ var username = nametxt.value; /*获取到装错误信息的span框*/ var sp = document.getElementById("usernameError"); v

利用ajax异步校验验证码(转)

利用ajax异步校验验证码 示例结果如图所示 具体步骤如下: step1: jsp页面及js脚本 [html] view plain copy print? <%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %> <html> <head> <title>form</title> <script type="

AJAX:校验用户名是否被注册

1. ajax是什么? * asynchronous javascript and xml:异步的js和xml * 它能使用js访问服务器,而且是异步访问! * 服务器给客户端的响应一般是整个页面,一个html完整页面!但在ajax中因为是局部刷新,那么服务器就不用再响应整个页面!而只是数据! > json:它是js提供的数据交互格式,它在ajax中最受欢迎! 2. 异步交互和同步交互 * 同步: > 发一个请求,就要等待服务器的响应结束,然后才能发第二个请求!中间这段时间就是一个字"

【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)

一年前,从不知道Ajax是什么,伴随着不断的积累,到现在经常使用,逐渐有了深入的认识.今天,如果想开发一个更加人性化,友好,无刷新,交互性更强的网页,那您的目标一定是Ajax. 介绍 在详细讨论Ajax是什么之前,先让我们花一分钟了解一下Ajax做什么.如图所示: 如上图展示给我们的就是使用Ajax技术实现的效果.伴随着web应用的越来越强大而出现的是等待,等待服务器响应,等待浏览器刷新,等待请求返回和生成新的页面成为了程序员们的最最头疼的难题.随着Ajax的出现使web应用程序变得更完善,更友