Axios 请求配置
Axios 单次请求可配置的字段及其默认行为、数据序列化和覆盖规则。
#type / concept
#status / growing
#tech / network
#platform / browser
#resource / http
#resource / javascript
#package / axios
[!info] related notes
- 所属 MOC: HTTP 与前端网络请求, ES6 新特性 MOC
- 上位概念: Axios
- 并列概念: Axios 实例, Axios 响应结构
- 相关概念: Axios 错误模型, Axios 取消请求
Axios 请求配置
一句话定义
Axios 的 request config 是“这次 HTTP 调用的完整描述”,决定了 URL、方法、参数、请求体、超时、响应类型和成功判定。
核心内容
常见字段
url:请求路径,唯一必填项method:HTTP 方法,默认GETbaseURL:统一前缀headers:请求头params:查询字符串参数data:请求体timeout:超时responseType:响应类型validateStatus:成功状态码判定signal:取消请求信号transformRequest/transformResponse:请求和响应数据转换钩子
数据怎么进出
- 普通对象通常会被转成 JSON
params会进 URL 查询串data会进请求体- 表单、文件、流式场景要按内容类型单独处理
常见直觉
axios.get('/users', { params: { page: 1 } })
axios.post('/users', { name: 'Tom' })
边界与易混淆点
params不是datatimeout和取消请求不是一回事validateStatus会改变哪些状态码进入catch- 具体请求会覆盖实例默认值,但不会反过来
- 自动数据转换通常发生在 transform 层,不是魔法
最短记忆方式
- config 决定单次请求怎么发
params管 URL,data管 bodyvalidateStatus决定成功范围