axios拦截器:每次请求自动带上 token

news/2024/4/29 11:15:19

Step 1:创建Axios实例并添加拦截器

在你的Vue项目中,一般我们会先导入axios,然后创建一个axios实例。这样做是为了方便统一管理和配置。

import axios from 'axios'; // 引入axios// 创建一个axios实例
const service = axios.create();// 添加请求拦截器
service.interceptors.request.use(config => {// 在发送请求之前做点事情let token = window.sessionStorage.getItem('token'); // 从sessionStorage获取Tokenif (token) { // 如果Token存在config.headers.Authorization = `Bearer ${token}`; // 将Token添加到请求头中,这里假设Token的格式是Bearer + Token值}return config; // 返回配置对象,继续发送请求},error => {// 对请求错误做点事情return Promise.reject(error);}
);

上面的代码做了什么呢?

1. 我们创建了一个axios实例service,相当于有了一个专属邮差。

2. 给这个邮差设置了规则:每次出门送信前,先检查一下有没有会员卡(Token)。

3. 如果找到了会员卡(从sessionStorage中获取Token),就把会员卡号(Token值)写在信封上(添加到请求头Authorization字段)。

4. 即使遇到请求错误,也会及时通知我们。

Step 2:全局使用带有拦截器的Axios实例

为了让Vue组件中的所有请求都能自动带上Token,我们将这个设置了拦截器的axios实例挂载到Vue的原型上:

// 将axios实例绑定到Vue原型上,这样在所有Vue组件中都可以通过this.$http访问到
Vue.prototype.$http = service;

现在,每当在Vue组件中发起请求时,只需要调用this.$http.get、this.$http.post等方法,请求头就会自动带上从sessionStorage获取到的Token了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/11761.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持

文章目录 一、v-model是什么二、什么是语法糖三、v-model常见的用法1、对于输入框(input):2、对于复选框(checkbox):3、对于选择框(select):4、对于组件(comp…

Nginx配置文件修改结合内网穿透实现公网访问多个本地web站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

ChatGPT 赚钱初学者指南(上)

原文:The Beginner’s Guide to Earning Money Online with ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 第一章:理解基础知识 什么是 ChatGPT? 在人工智能与人类对话相遇的数字织锦中,ChatGPT 作为一个突出…

Vue ts 如何给 props 中的变量指定特定类型,比如 Interface 类的

Vue ts 如何给 props 中的变量指定特定类型,比如 Interface 类的 我有一个这样的变量值类型 一、在没用 ts 之前的 props 类型指定方式 我们都知道之前在没用 ts 之前的 props 变量值类型指定方式: 如下图,billFood 定义方式是这样的&…

Web大并发集群部署之集群介绍

一、传统web访问模型 传统web访问模型完成一次请求的步骤 1)用户发起请求 2)服务器接受请求 3)服务器处理请求(压力最大) 4)服务器响应请求 传统模型缺点 单点故障; 单台服务器资源有限&…

k8s_入门_kubelet安装

安装 在大致了解了一些k8s的基本概念之后,我们实际部署一个k8s集群,做进一步的了解 1. 裸机安装 采用三台机器,一台机器为Master(控制面板组件)两台机器为Node(工作节点) 机器的准备有两种方式…