手写AJAX
我们常用的 ajax 就是通过 XMLHttpRequest 对象实现的,这个对象有很多的属性和事件,在使用之前,我们需要先将它实例化
var xhr = new XMLHttpRequest()
xhr.readyState用来获取ajax状态码,共有5个
xhr.readyState为0 请求未初始化,未调用 open()
xhr.readyState为1 请求已建立,但还未发送请求(未调用 send)
xhr.readyState为2 已发送请求(已调用 send)
xhr.readyState为3 请求正在处理,响应中已有部分数据可以用了
xhr.readyState为4 请求已完成,可以获取服务器的响应
当readyState的状态发生改变时,会触发 xhr 的事件onreadystatechange
//
//创建ajax对象并实例化
var xhr = new XMLHttpRequest()
//设置请求方式和请求地址
xhr.open('GET','www.localhost:3000/?name=zs&age=12')
//readystate是xhr对象中的属性,用来获取ajax状态码 0 1 2 3 4
xhr.onreadystatechange = function(){
//判断ajax状态码
//status获取http状态码。200表示ok
if(xhr.readyState === 4 && xhr.status === 200){
//xhr.responseText表示请求返回的数据内容
console.log(xhr.responseText)
}
};
//发送
xhr.send();