请尽可能详尽的解释AJAX的工作原理

第一步:创建ajax对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp))

第二步:判断数据传输方式(GET/POST)

第三步:打开链接 open()

第四步:发送 send()

当ajax对象完成第四步(onreadystatechange)数据接收完成,判断http响应状态(status)200-300之间或者304(缓存)执行回调函数

   注意:检测XMLHttpRequest对象的readyState属性,该属性表示请求/响应过程的当前活动阶段,属性值如下:

0:未初始化。尚未调用open()方法

1:启动。已经调用open()方法,但尚未调用send()方法

2:发送。已经调用send()方法,但尚未接收到响应

3:接收。已经接收到部分响应数据

4:   完成。已经接收到全部响应数据,而且已经可以在客户端使用了(如果写原生的js ajax请求需要等到 readyState==4的时候再做处理)其他的js库已经做好处理了

原文地址:https://www.cnblogs.com/luckyXcc/p/5804913.html