//第三个参数是true或false,表示请求是以异步仍是同步的模式发出。(默认为true,通常不建议为false)
function ajax(url, success, fail){
// 1. 建立链接
var xhr = null;
xhr = new XMLHttpRequest()
// 2. 链接服务器
xhr.open('get', url, true)
// 3. 发送请求
xhr.send(null);
// 4. 接受请求
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
success(xhr.responseText);
} else { // fail
fail && fail(xhr.status);
}
}
}
}
复制代码
0 - (未初始化)尚未调用send()方法javascript
1 - (载入)已调用send()方法,正在发送请求java
2 - (载入完成)send()方法执行完成ajax
3 - (交互)正在解析响应内容服务器
4 - (完成)响应内容解析完成,能够在客户端调用了异步
1xx:信息响应类,表示接收到请求而且继续处理url
2xx:处理成功响应类,表示动做被成功接收、理解和接受spa
3xx:重定向响应类,为了完成指定的动做,必须接受进一步处理code
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行ip
5xx:服务端错误,服务器不能正确执行一个正确的请求get