Axios

Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js,核心能力是实例、配置、拦截器、错误模型、取消请求和数据序列化。

#type / concept #status / growing #tech / network #platform / browser #resource / http #resource / javascript #package / axios

[!info] related notes

Axios

一句话定义

Axios 是一个基于 Promise 的 HTTP 客户端,不是浏览器标准 API,而是一个第三方库;它把日常发请求最常用的工程能力打包好了。

它在解决什么

  • 统一发 HTTP 请求的方式
  • 统一配置和默认值
  • 统一请求/响应拦截
  • 统一错误处理和取消请求
  • 统一 JSON / 表单 / 文件上传处理
  • 让浏览器和 Node.js 侧都有相近的使用体验

核心心智模型

可以把 Axios 记成一条稳定链路:

  1. request config 描述这次请求
  2. instance 提供独立默认值和隔离
  3. interceptors 承载横切逻辑
  4. response 提供统一返回结构
  5. error model 区分响应错误、请求错误和配置错误
  6. cancellation 处理主动中断
  7. serialization 处理 JSON / 表单 / 文件上传

这篇只做什么

这篇只做入口和导航,不重复展开所有 API 细节。具体内容拆到下面这些原子页里:

和其他请求方式的关系

  • fetch 是平台原生 API,风格更贴近浏览器标准
  • xhr 是更老的浏览器原生请求接口
  • ajax 是一种“异步局部更新”的实践
  • Axios 是第三方库,更偏工程化封装

什么时候优先看这篇

  • 想先建立 Axios 的整体心智地图
  • 想知道它和 Fetch / XHR 的层级差异
  • 想知道它为什么在工程里更顺手

推荐阅读顺序

  1. 前端 HTTP 请求:XHR vs Fetch vs Axios
  2. Axios 请求配置
  3. Axios 实例
  4. Axios 拦截器
  5. Axios 错误模型
  6. Axios 取消请求
  7. Axios 数据序列化
  8. Axios 封装模式
  9. Axios 封装实践
创建于 2025/1/1 更新于 2026/4/9