Axios

下载

使用 npm:

$ npm install axios

使用 bower:

$ bower install axios

使用 yarn:

$ yarn add axios

使用 jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

使用 unpkg CDN:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

为了直接使用 require 导入预构建的 CommonJS 模块(如果您的模块打包器无法自动解析它们),我们提供了以下预构建模块:

const axios = require('axios/dist/browser/axios.cjs'); // browserconst axios = require('axios/dist/node/axios.cjs'); // node

使用

  • axios使用如下所示:

axios(config)

// 发起一个post请求
axios({
  method: 'post',
  url: '/user/12345',
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});

axios(url[, config]) // 发起一个 GET 请求 (默认请求方式)
  • 请求别名

实例

可以使用自定义配置新建一个实例。

  • axios.create([config])

以下是可用的实例方法。指定的配置将与实例的配置合并。

请求配置

响应体结构

一个请求的响应包含以下信息。

当使用 then 时,您将接收如下响应:

默认配置

可以指定默认配置,它将作用于每个请求。

配置的优先级 配置将会按优先级进行合并。它的顺序是:在lib/defaults.js中找到的库默认值,然后是实例的 defaults 属性,最后是请求的 config 参数。后面的优先级要高于前面的。下面有一个例子。

拦截器

在请求或响应被 then 或 catch 处理前拦截它们。

如果你稍后需要移除拦截器,可以这样:

可以给自定义的 axios 实例添加拦截器。

错误处理

  • error 通用字段:

字段名
类型
说明

message

string

错误描述(如 "Request aborted""Network Error"

name

string

错误类型名称(如 "AxiosError""CanceledError"

config

object

请求的配置信息(包含 URL、method、headers 等)

code

string

错误代码(如 "ERR_NETWORK""ERR_CANCELED",某些错误可能无此字段)

使用 validateStatus 配置选项,可以自定义抛出错误的 HTTP code。

取消请求

从 v0.22.0 开始,Axios 支持以 fetch API 方式—— AbortController 取消请求:

最后更新于