学习AJAX(二)

前端之家收集整理的这篇文章主要介绍了学习AJAX(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本篇主要讲AJAX在用户注册登录时的应用

1:先写一个JS文件 :ajax.js

//创建XmlHttpRequest对象
function createXmlHttpRequest() {
	var xmlHttp;
	//支持IE
	if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
		//支持DOM	
	} else if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}

//全局的便于后面回调使用
var xmlHttp;
function sendRequest(method,url,param) {
	//得到创建对象
	xmlHttp = createXmlHttpRequest();	
	//当xmlHttp与服务器进行通信时,就会调你所赋于的函数
	xmlHttp.onreadystatechange =callBackFun;//回调函数		
	//判断方法的类型
	if(method=="get"){
		if(param!=""){
			url=url+"?"+param;			
	     }
		xmlHttp.open("get",true);
		xmlHttp.send(null);	
		
	}else if(method=="post"){
		//类似于是否支持多线程
		xmlHttp.open("post",true);
	    //post提交数据时设置请求头信息
		
		xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		//发送
		xmlHttp.send(param);
	}else if(method!=""){		
		out.print("输入有误!");
	}		
}
//回调函数
function callBackFun() { 
	//1.判断打印状态		
	//alert(xmlHttp.readyState);
	//2.判断状态是否完成
	//0:示初始化1:加载中 2:已加载  3:交互中 4:交互完成
	if (xmlHttp.readyState == 4) {
	//3.判断响应状态码是否正确
		if (xmlHttp.status == 200) {
	//4.取得服务端发送来的消息
			callBack(xmlHttp.responseText);		
		} else {
			alert("发生错误 状态码为=" + xmlHttp.status);
		}
	}
}
2: 写一个TestServlet类:
public void doGet(HttpServletRequest request,HttpServletResponse response)
			throws ServletException,IOException {

		String name=request.getParameter("username");		
		if (name != null && name.equalsIgnoreCase("admin")) {

			response.getWriter().write("no");
		} else {
			response.getWriter().write("yes");
		}
	}
3:写一个JSP页面
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript">
	   function checkName() {      
	        //1.点击按钮时的状态
		  	document.getElementById("msg").innerHTML = "正在验证中...";
		  	//2.得到用户名
			var username = document.getElementsByName("username")[0];
			//发送请求
			sendRequest("get","TestServlet","username=" + username.value);	 
        }	        
        //判断  响应的结果是何种类型
        function callBack(result){
			if(result=="no"){
			  document.getElementById("msg").innerHTML="用户已存在";
			}else{
			  document.getElementById("msg").innerHTML="可注册";
			}
		}
</script>
</head>
	<body> 姓名: 
		<input type="text" name="username">
		<span id="msg"></span>
		<input type="button" value="验证" onclick="checkName()">
		<br>
		 密码:
		<input type="text" name="password">
	</body>
</html>
原文链接:https://www.f2er.com/ajax/165194.html

猜你在找的Ajax相关文章