axios创建实例对象发送请求

2023-05-19 09:39:16 浏览数 (3)

创建实例

要创建一个Axios实例,您可以使用axios.create()方法。该方法接受一个可选的配置对象作为参数,并返回一个新的Axios实例。

代码语言:javascript复制
// 创建一个Axios实例
var instance = axios.create({
  baseURL: "https://api.example.com/",
  timeout: 5000,
  headers: {
    "Content-Type": "application/json",
    // 自定义请求头部
  }
});

在上面的示例中,我们使用axios.create()方法创建了一个新的Axios实例,并通过配置对象设置了一些选项,例如基本URL、超时时间和请求头部信息。

配置选项

通过创建实例,您可以为每个实例配置不同的选项。以下是一些常用的配置选项:

  • baseURL:用于所有请求的基本URL。
  • timeout:请求超时时间。
  • headers:请求的头部信息。
  • params:要添加到URL的查询字符串参数。
  • auth:提供HTTP基本认证的用户名和密码。
  • responseType:期望的响应数据类型。
  • validateStatus:定义响应状态码的验证函数。
  • transformRequest:用于请求数据的转换函数。
  • transformResponse:用于响应数据的转换函数。

您可以根据项目需求配置这些选项,以满足特定的请求需求。

发送请求

创建实例后,您可以使用该实例发送请求。实例具有与全局的axios对象相同的方法,例如get()post()put()delete()等。以下是一个发送请求的示例:

代码语言:javascript复制
instance.get("/data")
  .then(function (response) {
    console.log(response.data);
    // 在这里处理返回的数据
  })
  .catch(function (error) {
    console.log(error);
    // 在这里处理请求错误
  });

在上面的示例中,我们使用实例的get()方法发送了一个GET请求,并处理成功的响应和请求错误。

实例配置的继承

创建的Axios实例将继承其创建时指定的配置选项。如果在实例级别上指定了某个配置选项,它将覆盖全局的默认配置。例如:

代码语言:javascript复制
var instance = axios.create({
  timeout: 5000,
  headers: {
    "Content-Type": "application/json"
  }
});

// 将基本URL设置为https://api.example.com/
instance.defaults.baseURL = "https://api.example.com/";

在上面的示例中,我们创建了一个实例并指定了默认的超时时间和请求头部信息。然后,我们通过实例的defaults属性将基本URL设置为https://api.example.com/,这将覆盖全局的默认基本URL。

0 人点赞