Ajax学习

<script type="text/javascript">
	var req;
	function validate(){
		var idField=document.getElementById("userid"); //拿到id号为userid的那个元素
		var url="validate.jsp?id="+escape(idField.value);//建立url地址,escape:将一个值转化为url
		if(window.XMLHttpRequest){     //初始化req对象,根据不同浏览器设定不同的值
			req=new XMLHttpRequest();
		}else if(window.ActiveXObject){    //ie浏览器
			req=new ActiveXObject("Microsoft.XMLHTTP");
		}
		req.open("GET", url, true);  //open:打开url;true:使用异步模式;GET:打开的方法(另一个方法为post)
		req.onreadystatechange=callback; //当状态发生变化的时候,调用callback方法
		//readystate:状态值(0:还没初始化;1:请求还没发到客户端;2:请求已经发过去,并且服务器段给了头部反馈,内容还没有;
		//3:头信息已经拿到,内容正在取得之中;4:已经取完了,服务器端处理完毕)
		req.send(null);
	}
	
	function callback(){
		if(req.readyState==4){ //当服务器端处理完毕
			if(req.status==200){ //反映正常
				var msg=req.responseXML.getElementsByTagName("msg")[0];//根据标签名字拿到标签元素,拿到第1个元素
				setMsg(msg.childNodes[0].nodeValue);  //拿到对应的值
			}
		}
	}
	
	function setMsg(msg){
		if(msg=="invalid1")
			document.getElementById("usermsg").innerHTML="<font color='red'>用户名已经存在</font>"; //动态指定usermsg的内容
		else if(msg=="invalid2")
			document.getElementById("usermsg").innerHTML="<font color='red'>用户名有特殊符号</font>";
		else if(msg=="invalid3")
			document.getElementById("usermsg").innerHTML="<font color='red'>用户名长度至少为3</font>";
		else if(msg=="invalid4")
			document.getElementById("usermsg").innerHTML="<font color='red'>用户名不能为汉字</font>";
		else
			document.getElementById("usermsg").innerHTML="<font color='red'>恭喜,用户名可以使用</font>";
	}
</script>


你可能感兴趣的:(Ajax学习)