前端 axios
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
一、网络请求方式
1. 传统 Ajax
基于 XMLHttpRequest,主要缺点有:
- 配置和调用方式混乱
- 编码方式不友好
2. jQuery Ajax
相比于传统的 Ajax ,它更加好用。
不使用它的原因是:
jQuery-Ajax 包含在 jQuery 之中,因此如果想使用它,便需要引入一整个 jQuery。
3. Vue-resource
Vue 官方曾经推出过 Vue-resource ,但随后宣布不再更新与维护。
4. axios
Vue 更推荐使用 axios。
二、安装与引用
1. 安装
1 |
|
2. 引用
1 |
|
三、发送基本请求
1. 请求方式
1 |
|
2. 语法
1 |
|
3. 示例
1 |
|
4. config
config 是一个对象,可以通过向 axios 传递 config 来创建请求。
1 |
|
使用别名方法时,已经确定的数据无需在 config 中重复设置。
若没有设置请求方式,
axios(config)
会默认用 get 方式请求。
四、并发请求
可以用 axios.all()
处理并发请求,都成功则处理结果,失败则报告错误。结果将以数组的形式返回。
1 |
|
可以用 axios.spear()
将数组形式的结果展开。
1 |
|
五、全局配置
可以设置全局的默认配置值,设置之后无需在 axios 中的 config 中重复配置。
1 |
|
六、实例
可以通过 axios.create
创建一个 axios 实例,并在其中填入实例的配置,方便之后的调用。
1 |
|
七、拦截器的使用
拦截器可以在请求成功、请求失败、响应成功、响应失败被 then/catch
处理之前拦截它们。
1 |
|
- 注意 return ,否则
then/catch
将无法得到信息并正常工作 - 可以将拦截全局(axios),也可以拦截实例