AJAX 就是浏览器提供的一套API(应用程序编程接口),可以通过JS调用,从而实现通过代码控制请求与响应,实现网络编程。

使用AJAX的过程就可以类比平常我访问网页的过程:

1打开浏览器  

var xhr = new XMLHttpRequest     //创建一个XMLHttpRequest 对象

2在地址栏输入访问地址 

xhr.open("get", "./time.php")   //打开一个网址之间的连接

3按下Enter键(点击访问发送请求)

xhr.send(null)          //通过连接发送请求

4处理网页呈现后得操作

xhr.onreadystatechange = function(){

  //通过xhr的readystate 判断此次请求的相应是否接受完成:readystate===4表示接受完成

  if(this.readystate === 4) {

    //通过xhr的responseText 获取到响应报文的相应体

    console.log(this)

  }

}

注意:readystatechange 事件是在xhr对象状态改变的时候触发的(不但是在得到响应时)

readystate 的值代表的意义:

readystate     状态描述            说明

0          UNSENT          创建代理xhr,但尚未调用open()方法

1          OPENED          调用了open()方法,建立了连接

 

2          HEADERS_RECEIVED    send()方法已经被调用,并且已经可以获取状态行和响应头。

3          LOADING          响应体下载中,responseText属性可能已经包含部分数据

4          DONE             相应提下载完成,可以直接使用responseText

 

通过理解每一个状态值的含义得出一个结论:一般我们都是在  readyState 值为  4 时,执行响应的后续逻辑。