Axios是一个基于promise的HTTP库
浏览器支持情况:Chrome、Firefox、Safari、Opera、Edge、IE8+
该库不支持jsonp 依赖于Vue
文档:axios中文文档
API
- axios(config)
- axios(url, [config])
config 配置对象
最常用的配置: ```javascript axios({ method: ‘get’, // post、get、put…. baseURL: ‘’, // 请求的域名,基本地址 url: ‘’, // 请求的路径 params: {}, // 会将请求参数拼接在url上 data: {}, // 会将请求参数放在请求体中 headers: {}, // 设置请求头,例如设置token等 timeout: 1000, // 设置请求超时时长,单位:ms })
<a name="651feeb6"></a>
## 方法别名
为方便起见,为所有支持的请求方法提供了别名。
- axios.request(config)
- axios.get(url, [config])
- axios.post(url, [data], [config]])
- axios.delete(url, [config])
- axios.head(url, [config])
- axios.put(url, [data], [config])
- axios.patch(url, [data], [config]])
- axios.options(url, [config])
```javascript
axios.get('https://developer.duyiedu.com/vue/getUserInfo').then(res => {
console.log(res)
})
配置默认值
全局配置
axios.defaults.baseURL = 'https://developer.duyiedu.com/vue';
axios.defaults.timeout = 1000;
请求配置
const instance = axios.create();
instance.get('/getUserInfo', {
timeout: 5000
})
并发
同时进行多个请求,并统一处理返回值
- axios.all(iterable) // 发送请求
- axios.spread(callback) // 接受请求的回调
axios.all([
axios.get('/a'), // 第一个请求
axios.get('/b') // 第二个请求
]).then(axios.spread((aRes, bRes) => { // aRes 第一个请求的回调 bRes 第二个请求的回调
console.log(aRes, bRes);
}))