7.怎么配置一个axios来拦截前后端请求

首先创建一个axios.js文件

导入我们所需要的依赖

复制代码
import axios from "axios";
import Element from 'element-ui'
import router from "./router";

设置请求头和它的类型和地址

注意先注释这个url,还没有解决跨域问题,不然会出现跨域

复制代码
// axios.defaults.baseURL = "http://localhost:8081"
const request = axios.create({
    timeout: 5000,
    headers: {
//请求头的格式要求为json
        'Content-Type': 'application/json; charset=utf-8'
    }
})
request.interceptors.request.use(config => {
//将localStorage中的token放入请求头
    config.headers['Authorization'] = localStorage.getItem("token") // 请求头带上token
    return config
})

设置后端返回给前端数据的处理方式

复制代码
//就是当后端返回给前端code的值来回馈不同的效果
request.interceptors.response.use(response => {
        let res = response.data;
        console.log("response")
        console.log(res)
        if (res.code === 200) {
            return response
        } else {
            Element.Message.error(res.msg? res.msg : '系统异常!', {duration: 3 * 1000})
            return Promise.reject(response.data.msg)
        }
    },
    error => {
        console.log(error)
        if(error.response.data) {
            error.message = error.response.data.msg
        }
        if(error.response.status === 401) {
            router.push("/login")
        }
        Element.Message.error(error.message, {duration: 3 * 1000})
        return Promise.reject(error)
    }
)

将他暴露出来

复制代码
export default request

然后在main.js中修改

复制代码
import axios from 'axios'
Vue.prototype.$axios = axios //

修改为

复制代码
import request from "./axios";
Vue.prototype.$axios = request

就可以了

相关推荐
嵌入式-老费4 分钟前
自己动手写深度学习框架(快速学习python和关联库)
开发语言·python·学习
ctgu9011 分钟前
PyQt5(八):ui设置为可以手动随意拉伸功能
开发语言·qt·ui
FogLetter12 分钟前
React Fiber 机制:让渲染变得“有礼貌”的魔法
前端·react.js
不想说话的麋鹿18 分钟前
「项目前言」从配置程序员到动手造轮子:我用Vue3+NestJS复刻低代码平台的初衷
前端·程序员·全栈
CVer儿19 分钟前
libtorch ITK 部署 nnUNetV2 模型
开发语言
asyxchenchong88827 分钟前
OpenLCA、GREET、R语言的生命周期评价方法、模型构建
开发语言·r语言
JunpengHu28 分钟前
esri-leaflet介绍
前端
zm43536 分钟前
bpmn.js 自定义绘制流程图节点
前端·bpmn-js
小杨梅君38 分钟前
探索现代 CSS 色彩:从 HSL 到 OKLCH,打造动态色阶
前端·javascript·css
没有梦想的咸鱼185-1037-166339 分钟前
【生命周期评价(LCA)】基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建
开发语言·数据分析·r语言