js中ajax测试练习

  测试的时候,首先需建立这个文件username.txt且里面写入用户名(用户明以“;”分开),将文件放在相同目录文件中访问即可.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax测试练习</title>
	<script type="text/javascript" language="JavaScript">
		//定义XMLHttpRequest对象的变量
		var xmlHttp = null;
		//创建XMLHttpRequest对象
		function createXMLHTTP()
		{
			//判断浏览器是否支持ActiveX控件       此处是检测IE浏览器的
			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]);
			   			//如果创建成功则跳出循环
			   			break;
			   		}
			   		catch(ex)
			   		{
			   			
			   		}
			     }
			} 
			//判断浏览器是否将XMLHttpRequest作为本地对象实现     同样也是判断其他浏览器的
			else if(window.XMLHttpRequest)
			{
				xmlHttp = new XMLHttpRequest();
			}
		}
			//相应XMLHttpRequest对象变化状态的函数e
			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(var 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()
			{
				//创建XMLHttpRequset对象
				createXMLHTTP();
				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">&nbsp;</span><br/>
		输入登录秘密:<input type="password" name="password1" /><br/>
		再次输入密码:<input type="password" name="password2" /><br/>
		密码查询问题:<input type="text" name="problem" /><br/>
		密码查询答案:<input type="text" name="key" /><br/>
		<input type="button" value="提交" name="submitButton" disabled="true"/>
		
	</form>
</body>
</html>

转载于:https://my.oschina.net/xiahuawuyu/blog/65224

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值