Ajax
是用来实现客户与服务器端的异步通信效果,实现页面的局部刷新
主要通过XMLHttpRequests
(标准浏览器),ActiveXObject
(IE浏览器)对象实现异步通信效果
分为四步
- var xhr = null; // 创建对象
- xhr.open("方式", "地址", "标志位"); // 初始化请求
- xhr.setRequestHeader("", ""); // 设置http头信息
- xhr.onreadystatechange = function () {} // 指定回调函数
- xhr.send(); // 发送请求
Ajax的 优点和缺点
优点:
- 可以异步通信,实现了异步刷新,带来更好的用户体验,按需获取数据节约带宽资源
缺点:
- 不支持浏览器back按钮
- 安全问题AJAX暴露了 与服务器交互的细节
- 对搜索引擎的支持比较弱
- 破坏了程序的异常机制
Axios
是一个基于Promise用于浏览器和nodejs的HTTP客户端,它本身具有以下特征:
- 从浏览器中创建XMLHttpRequest
- 从nodejs发出http请求
- 支持Promise API
- 拦截请求和响应
兼容浏览器的处理
if (self.fetch) {
使用用fetch框架处理
} else {
使用XMLHttpRequest或者其他封装框架
}