Ajax原理
- 通过XmlHttpRequest对象来向服务器发出异步请求,从服务器获得数据,然后用Javascript来操作DOM而更新页面。
Ajax工作流程:
- 创建Ajax对象(XmlHttpRequest)
- 判断数据的传输方式(get/post)
- 打开连接open()
- 发送send()
注意:当Ajax对象完成第四步数据接收完成,判断http响应状态,执行回调函数。
检测XMLHttpRequest对象的readyState属性,该属性表示请求/响应过程的当前活动阶段,属性如下:
0:未初始化。尚未调用open()方法
1:启动。已经调用open()方法,但尚未调用send()方法
2:发送。已经调用send()方法,但尚未接收到响应
3:接收。已经接收到部分响应数据
4: 完成。已经接收到全部响应数据,而且已经可以在客户端使用了(如果写原生的js ajax请求需要等到 readyState==4的时候再做处理)其他的js库已经做好处理了
Ajax优势:
- 页面无刷新,在页面内与服务器通信,给用户的体验非常好
- 使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力
- 可以嫌少服务器的负担,利用客户端闲置能力来处理任务
参考链接:
https://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html
https://blog.csdn.net/yixiaotian1988/article/details/7821973