readyState的不同状态
readyState
onreadystatechange是在xhr对象状态变化时触发,不只是得到响应之后,所以会多次被触发
readyState | 状态描述 | 说明 |
---|---|---|
0 | UNSENT | xhr(代理)已经创建 |
1 | OPENED | open()方法已经被调用,建立了连接 |
2 | HEADERS_RECEIVED | send()方法已经被调用,可以获取状态行和响应头(getAllResponceHeaders()或getResponceHeader()响应头中特定的属性)) |
3 | LOADING | 响应体下载中, responseText 属性可能已经包含部分数据 |
4 | DONE | 响应体下载完成,可以直接使用 responseText 。 |
onreadystatechange
关于为什么要把onreadystatechange放在send前面,这个函数只要请求状态改变即触发,如果在最后,因为请求速度很快,可能还没执行到这个函数,请求就已完成。无法监听到状态变化。