使用方法
1 | // 发送 post |
支持请求别名
axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
并发使用
1 | axios.all(iterable) |
创建实例
1 | var instance = axios.create({ |
请求配置参数
1 | { |
响应结构
1 | { |
配置的默认值
全局默认值
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
自定义实例默认值
// 创建实例时设置配置的默认值
var instance = axios.create({
baseURL: 'https://api.example.com'
})
// 在实例已创建后修改默认值
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN
配置优先级
- lib/defaults.js 库的默认值
- 实例 defaults 属性
- 请求的 config 参数
拦截器
请求或响应被 then、catch 处理前拦截处理
1 | // 请求拦截器 |
var instance = axios.create();
instance.interceptors.request.use(function () { .. });
移除拦截器
axios.interceptors.request.eject(instance)
错误处理
1 | axios.get('/user/12345', { |
validateStatus 配置选项定义一个自定义 HTTP 状态码的错误范围
params和data区别
params 添加到url的请求字符串,一般用于 get 请求
传递的都是字符串,无法传递参数中包含json格式的数据
data 添加到请求体(body)中的,一般用于 post 请求
data 不可以用于 get 请求。