【vue】axios封装拦截

文章目录


1、安装axios

typescript 复制代码
npm install axios

2、新建文件

  • 项目 src 目录创建 util 文件夹
  • util 文件夹下创建文件 axios.config.js
  • 代码如下
typescript 复制代码
import axios from "axios";
// 请求拦截
axios.interceptors.request.use(function (config) {
    const token = localStorage.getItem("token")
    config.headers.Authorization = `Bearer ${token}`
    return config;
}, function (error) {
    return Promise.reject(error);
});
typescript 复制代码
// 响应拦截
axios.interceptors.response.use(function (response) {
    const { authorization } = response.headers
    authorization && localStorage.setItem("token", authorization)
    return response;
}, function (error) {
 	const { status, data } = error.response
    if (status === 401) {
        localStorage.removeItem("token")
        location.reload()
    } else {
        ElMessage.error(data.msg || "系统出错")
    }
    return Promise.reject(error);
});

3、引入文件

  • mian.js 中引入
typescript 复制代码
import "./util/axios.config"

4、使用

html 复制代码
<template>
  <div>帆帆帆帆帆帆帆帆帆帆帆帆帆帆</div>
</template>
typescript 复制代码
<script setup lang="ts">
import axios from 'axios';
axios.get("/api/user/home").then((res) => {
  console.log(res)
})
</script>
相关推荐
C澒2 分钟前
微前端容器标准化 —— 公共能力篇:通用监控能力
前端·架构
念念不忘 必有回响3 分钟前
Next.js 14-16 全栈开发实战:从 App Router 核心原理到 Server Actions 深度剖析
前端·nextjs
计算机学姐3 分钟前
基于SpringBoot+Vue的家政服务预约系统【个性化推荐+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·java-ee
英俊潇洒美少年4 分钟前
React 16 → 17 → 18 → 19 完整区别
前端·javascript·react.js
你会发光哎u4 分钟前
了解React并解析JSX语法
前端·react.js·前端框架
专注VB编程开发20年4 分钟前
Typescript就像C#,VS IDE以前对JS只有基础、弱智能的支持
javascript·vscode·microsoft·typescript
533_6 分钟前
[vxe-table el-tree] 树表格:选中子节点,父节点无影响;选中父节点,子节点被选中,el-tree也同理
前端·javascript·vue.js
阳光雨滴6 分钟前
树级结构部门选择和人员选择联动功能处理
javascript·vue.js·elementui
英俊潇洒美少年10 分钟前
Vue2 和 Vue3 所有区别
前端·javascript·vue.js
书到用时方恨少!10 分钟前
基于 Three.js 的 3D 地球可视化项目
开发语言·javascript·3d