//第1步:创建异步请求对象xhr
var xhr = new XMLHttpRequest();
//第2步:注册事件监听,xhr通过监听服务器返回结果时的状态值,判断此次返回的结果是否可用 xhr.onreadystatechange=function(){ if(xhr.readyState==4&xhr.status==200){ console.log(xhr.responseTest) } }
//这个步骤就像一个阴魂一样,在每一步骤执行完后,都会执行。只是每次的xhr.readyState的数值不同
//第3步.xhr通过调用open方法去建立与服务器的连接 xhr.open()
//第4步.xhr向服务器发送请求(请求方式为get方式时,send方法内部传null) xhr.send(null);
================================================================================
- 当 xhr.readyState==0 时,(Uninitialized)是表示初始化状态。即xhr对象刚刚被创建了或刚被abort()方法重置了。
- 当 xhr.readyState==1时,(Open)是表示xhr调用了open()方法,客户端的请求还没被发送。
- 当 xhr.readyState==2时,(Send)是表示xhr已经调用了send()方法,将Http请求发送到了Web服务器,但 还未收到 Web服务器的相应。
- 当 xhr.readyState==3时,(Receiving)是表示所有响应头都已被Web服务器接收到,Web服务器开始处理请求,但还没处理完。
- 当 xhr.readyState==4时,(Loaded)是表示Web服务器已经响应完客户端的所有请求。Http已经完全接受到了Web服务器的响应数据。