Vue中的请求拦截器

目录

[1 前言](#1 前言)

[2 使用方法](#2 使用方法)

[2.1 创建拦截器](#2.1 创建拦截器)

[2.2 引入拦截器](#2.2 引入拦截器)


1 前言

我们常常会使用JWT令牌来验证登录,因此很多请求都需要携带JWT令牌,我们当然可以用{headers:{Authorization:xx}}的方式,向每个请求中都以这样的方式添加JWT令牌。不过这样做就过于繁琐,因此我们可以采用请求拦截器的方式来简化操作。

2 使用方法

2.1 创建拦截器

在src目录下,创建一个utils文件夹,再向其中创建一个request.js文件

javascript 复制代码
//创建公共前缀
const baseURL = '/api';
const instance = axios.create({ baseURL });

//请求拦截器
instance.interceptors.request.use(
    (config) => {
        //其它代码...
        //其中tokenStore.token为JWT令牌
        if (tokenStore.token) {
            config.headers.Authorization = tokenStore.token
        }
        return config
    },
    (err) => {
        return Promise.reject(err);
    }
)
//导出接口
export default instance;

2.2 引入拦截器

在api文件夹下的接口中以如下方式导入即可:

javascript 复制代码
import request from "@/utils/request.js";

使用如下:

javascript 复制代码
//其它..
export const userRegisterService = () => {
    //其它代码...
    //params为携带的参数
    return request.post('/user/register', params)
}
相关推荐
前端snow1 小时前
ai agent --- DeepAgents 中间件
前端
data analyse 4562 小时前
报表能自定义的国内统计工具有哪些
前端·数据分析
IT_陈寒2 小时前
JavaScript闭包的这个坑,我居然今天才爬出来
前端·人工智能·后端
可乐鸡翅yeah_2 小时前
hls.js 切换多个视频源,新手开发常见踩坑
开发语言·前端·javascript·ios·ffmpeg·音视频·safari
葡萄城技术团队2 小时前
复制走的是数字,留下的是身份:Web 表格里被忽视的数据断层
前端
kyriewen2 小时前
我实测了前端日期的 5 个坑:差 8 小时只是开始
前端·javascript·程序员
anew___2 小时前
《从零手写操作系统 (11):文件系统初探——initrd与VFS抽象层》
java·javascript·算法
测试运维日常笔记3 小时前
大模型应用专项测试指南:从 Prompt、RAG 到 Agent 的完整链路
前端·prompt
今年下半年3 小时前
【VUE3】移动端:使用腾讯地图显示区域统计与放大显示资产点位
javascript·前端框架·vue·地图