1.创建一个XMLHttpRequest对象
2.对XMLHttpRequest对象进行事件的监听(定义监听事件的位置不影响
3.对XMLHttpRequest对象的状态码
状态 | 名称 | 描述 |
0 | Uninitialized | 初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置 |
1 | Open | open() 方法已调用,但是 send() 方法未调用。请求还没有被发送 |
2 | Sent | Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应 |
3 | Receiving | 所有响应头部都已经接收到。响应体开始接收但未完成 |
4 | Loaded | HTTP 响应已经完全接收 |
***注***
xhr.onreadystatechange = function(){
console.log(xhr.readyState)
}
//输出结果状态码只有2,3,4并没有0,1,这是因为该事件发生时,XMLHttpRequest对象已经调用了send()方法,如需不采取监听事件的方式对对象发送数据前的动作进行操作,可以在xhr.send()之前定义
如:if(xhr.readyState == 1) or if(xhr.readyState == 1)
该处理可用于ajax请求数据的原生写法中添加效果处理,例如:给请求数据过程中添加加载效果等等