Axios 请求配置
Axios 单次请求可配置的字段及其默认行为、数据序列化和覆盖规则。
#concept
#growing
#network
#browser
#http
#javascript
#axios
[!info] related notes
- 所属 MOC: HTTP 与前端网络请求
- 上位概念: Axios
- 并列概念: Axios 实例, Axios 响应结构
- 相关概念: Axios 错误模型, Axios 取消请求
Axios 请求配置
一句话定义
Axios 的 request config 是“这次 HTTP 调用的完整描述”,决定了 URL、方法、参数、请求体、超时、响应类型和成功判定。
核心内容
常见字段
url:请求地址,可在 config 或axios.get(url, config)等方法参数中提供method:HTTP 方法,默认GETbaseURL:相对地址的统一前缀;默认情况下绝对 URL 可覆盖它,并非访问目标白名单headers:请求头params:查询字符串参数data:请求体timeout:毫秒计的超时配置,默认 0 表示不设置此超时;覆盖阶段需看 adapterresponseType:响应类型validateStatus:HTTP 状态的 Promise 成功/失败判定,默认接受 200–299,不校验业务数据signal:取消请求信号transformRequest/transformResponse:请求和响应数据转换钩子
数据怎么进出
- 普通对象通常会被转成 JSON
params会进 URL 查询串data会进请求体- 表单、文件、流式场景要按内容类型单独处理
常见直觉
axios.get('/users', { params: { page: 1 } })
axios.post('/users', { name: 'Tom' })
边界与易混淆点
params不是datatimeout和取消请求不是一回事validateStatus会改变哪些状态码进入catch- 请求配置按字段规则与实例默认值合并,不回写 defaults;
headers等有合并规则,data为单次请求字段 - 自动数据转换通常发生在 transform 层,不是魔法
最短记忆方式
- config 决定单次请求怎么发
params管 URL,data管 bodyvalidateStatus决定成功范围