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])```javascriptaxios.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);}))
