使用 Axios 设置请求 Token

在前端开发中,我们经常需要与后端进行数据交互。而在进行数据传输时,很多时候需要进行身份验证,以确保数据的安全性。一种常见的身份验证方式就是使用 Token。Token 是一种可以在请求头中携带的身份验证信息,用来识别用户的身份和权限。

什么是 Axios?

Axios 是一个基于 Promise 的 HTTP 客户端,可以用在浏览器和 Node.js 环境中。它具有以下特点:

  • 在浏览器中发送异步请求
  • 支持 Promise API
  • 支持拦截请求和响应
  • 转换请求和响应数据
  • 自动转换 JSON 数据
  • 取消请求
  • 自动设置 CSRF Token

在本文中,我们将介绍如何使用 Axios 设置请求 Token。

设置请求 Token

假设我们已经通过登录接口获取了一个 Token,现在我们需要在每个请求中都携带这个 Token。这时就可以使用 Axios 的拦截器功能来实现。

首先,我们需要在每个请求的请求头中添加 Token。我们可以使用 Axios 的 interceptors 来实现这一功能。下面是一个示例代码:

// 引入 Axios
const axios = require('axios');

// 创建 Axios 实例
const instance = axios.create({
  baseURL: '
  timeout: 5000,
});

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token');
  if (token) {
    config.headers.Authorization = `Bearer ${token}`;
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

在上面的代码中,我们创建了一个 Axios 实例,并在其请求拦截器中添加了一个函数。这个函数会在每个请求发送之前执行,我们可以在这里获取 Token 并设置到请求头中。

饼状图示例

下面是一个简单的饼状图示例,使用 mermaid 语法中的 pie 来表示:

pie
    title 饼状图示例
    "A": 30
    "B": 25
    "C": 20
    "D": 15
    "E": 10

发送带 Token 的请求

现在,我们已经设置了请求拦截器,会在每个请求中携带 Token。下面是一个发送请求的示例代码:

// 发送 GET 请求
instance.get('/data')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

// 发送 POST 请求
instance.post('/data', {
  data: 'example'
})
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

在上面的代码中,我们使用 Axios 实例 instance 发送了 GET 和 POST 请求。由于我们在请求拦截器中设置了 Token,所以这些请求会自动携带 Token。

结语

通过以上示例,我们介绍了如何使用 Axios 设置请求 Token。通过拦截器的方式,我们可以在每个请求中都携带 Token,从而实现身份验证和数据安全。希望本文对你有所帮助!如果有任何疑问,欢迎留言讨论。