axios特点
1,基于promise的异步ajax请求库
2,浏览器端/node端都可以使用
3,支持请求/响应拦截器
4,支持请求取消
5,请求/响应数据转换
6,批量发送多个请求
Name | Description |
---|---|
axios(config) | 通用/最本质的发任意类型请求的方式 |
axios(url[,config]) | 可以只指定url发get请求 |
axios.request(url[,config]) | 等同于axios(config) |
axios.get(url[,config]) | get请求 |
axios.delete(url[,config]) | delete请求 |
axios.post(url[,data,config]) | post请求 |
axios.put(url[,data,config]) | put请求 |
axios.defaults.xxx | 请求非默认全局配置 |
axios.interceptors.request.use() | 添加请求拦截器 |
axios.interceptors.response.use() | 添加响应拦截器 |
axios.create([config]) | 用于创建取消请求的错误对象 |
axios.Cancel() | 用于创建取消请求的错误对象 |
axios.CancelToken() | 用于创建取消请求的token对象 |
axios.isCancel() | 是否是一个取消请求的错误 |
axios.all(promise) | 用于批量执行多个异步请求 |
axios.create(config) 对axios请求进行二次封装
根据指定配置创建一个新的 axios ,也就是每个axios 都有自己的配置
新的 axios 只是没有 取消请求 和 批量请求 的方法,其它所有语法都是一致的
为什么要这种语法?
需求,项目中有部分接口需要的配置与另一部分接口的配置不太一样
解决:创建2个新的 axios ,每个都有自己的配置,分别对应不同要求的接口请求中
请求拦截器,后添加先执行
响应拦截器,先添加先执行