天天看点

ajax请求404_AJAX相关使用案例

ajax请求404_AJAX相关使用案例
AJAX

即“

A

synchronous

J

avascript

A

nd

X

ML”(异步 JavaScript 和 XML),

是指一种是一种用于创建快速动态网页的技术。

使用步骤 :

【1】创建AJAX引擎

var xhr = new XMLHttpRequest();

【2】创建HTTP请求

xhr.open(method, url, async, username, password)

//第一个参数method:http请求方式

//第二个参数url:http请求地址

//第三个参数async:表示是否异步请求

//第四个和第五个参数username和password:用于提供http验证机制

【3】发送请求

//如果不发送额外的请求数据,send()方法可以不传参数

xhr.send()

【4】处理后台返回的数据(监听readyState值的变化)

xhr.onreadystatechange = function() { }

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>" target="_blank" rel="external nofollow" >
<title>My JSP 'xhr_obj.jsp' starting page</title>
<script type="text/javascript">

	function doAjax(){
		//1.创建ajax引擎
		var xhr = new XMLHttpRequest();
		
		//4.监听readyState的值,
		//只要当readyState的值发生了变化,就调用绑定在onreadystatechange(请求状态改变的事件)上面的函数
		xhr.onreadystatechange = function(){
			console.log("-----------"+xhr.readyState+"-----------")
			
			//readyState等于4就表示服务器已经和ajax引擎交互完成,数据已经在ajax引擎中了!
			if(xhr.readyState == 4){
				//status 表示http状态码
				if(xhr.status == 200){
					//服务器响应的文本:responseText
					//对返回的数据使用DOM进行操作
					if(xhr.responseText == "true"){
						document.getElementById("myDiv").innerHTML = "用户名已存在"
					}else{
						document.getElementById("myDiv").innerHTML = "用户名可用"
					}
				}else if(xhr.status == 404){
					window.loaction.href="404.html" target="_blank" rel="external nofollow" ;
				}else if(xhr.status == 500){
					document.getElementById("myDiv").innerHTML="服务器正在开了一个小差,请过会再试!"
				}
			}else{
				document.getElementById("myDiv").innerHTML = "数据加载中..."
			}
		}
		
		//2.创建一个http请求
		//第一个参数method:http请求方式
		//第二个参数url:http请求地址
		//第三个参数async:表示是否异步请求
		//第四个和第五个参数username和password:用于提供http验证机制
		xhr.open("get", "hiservlet", true);
		
		//3.发送http请求
		//如果不发送额外的请求数据,send()方法可以不传参数
		xhr.send()
	}

</script>
</head>
<body>
	<button onclick="doAjax();">发送ajax请求</button>
	
	<div id="myDiv">请求的数据为:</div>
</body>
</html>