Skip to content

功能特性 ​

axios 是一个功能强大的 HTTP 客户端,提供简单易用的 API 来发起 HTTP 请求。它支持所有主流浏览器,在 JavaScript 社区中被广泛使用。以下是 axios 的核心特性,这些特性使其成为你下一个项目的优选方案。

同构(Isomorphic) ​

axios 是一个通用 HTTP 客户端,可在浏览器和 Node.js 中同时使用。这意味着你既可以在前端代码中发起 API 请求,也可以在后端代码中使用 axios,非常适合构建渐进式 Web 应用、单页应用以及服务端渲染应用。

对于同时负责前后端开发的团队,axios 也是绝佳选择。统一使用 axios 发起 HTTP 请求,可以降低代码库的复杂度,保持前后端 API 的一致性。

Fetch 支持 新特性 ​

axios 对 Fetch API 提供了一流的支持。Fetch API 是 XHR API 的现代替代方案,可通过配置选项启用该适配器。XHR 适配器和 Fetch 适配器使用完全相同的 API,因此无需修改现有代码即可平滑迁移到 Fetch API。

浏览器支持 ​

axios 支持所有主流浏览器及部分较旧的浏览器,包括 Chrome、Firefox、Safari 和 Edge,是构建需要兼容多种浏览器的 Web 应用的理想选择。

Node.js 支持 ​

axios 同样支持多个 Node.js 版本,兼容性经过测试,最早可追溯至 v12.x,在无法或不便升级到最新 Node.js 版本的环境中同样可以放心使用。

此外,axios 还有针对 Bun 和 Deno 的冒烟测试,用于验证关键的运行时行为,增强跨运行时兼容性的可信度。

其他特性 ​

  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • AbortController 支持
  • 超时设置
  • 支持嵌套参数的查询字符串序列化
  • 自动将请求体序列化为:
    • JSON(application/json)
    • Multipart / FormData(multipart/form-data)
    • URL 编码表单(application/x-www-form-urlencoded)
  • 将 HTML 表单数据以 JSON 格式发送
  • 自动处理响应中的 JSON 数据
  • 支持浏览器和 Node.js 的进度捕获,并提供额外信息(传输速率、剩余时间)
  • 支持在 Node.js 中设置带宽限制
  • 兼容规范的 FormData 和 Blob(包括 Node.js 环境)
  • 客户端 XSRF 防护支持

axios is provided under MIT license