前端中axios提供的前置拦截器和后置拦截器(前后端分离项目结合使用 ---- 见上篇博文)

前端axios的拦截器使用详解
本文详细介绍了在前端项目中,axios提供的请求前拦截器和响应后拦截器的用法,以及如何在前后端分离项目中结合使用,确保数据交互的安全性和效率。重点讨论了与ajax和session的配合策略。
给每个axios请求都添加一个前置拦截器,发送请求时添加请求头,在第一次后台发给前台一个jsessionid后,前台永久保存在浏览器端,在第二次...第n次进行操作发送请求时,都把
这个jsessionid传给后台,就可以获取到已登录用户,进行操作 (有些功能是必须登录才能操作的.//1 使用axios前置拦截器,让所有的请求都携带token
axios.interceptors.request.use(config=>{
    //携带token
    let uToken =  localStorage.getItem("token");
    if(uToken){
        //我就在请求头里面添加一个头信息叫做U-TOKEN ==》jsessionid(token) 后台通过token作为key值可以在redis中获得loginUser的信息
        config.headers['U-TOKEN']=uToken;
    }
    return config;
},error => {
    Promise.reject(error);
});

使用:在axios发送请求后,得到一个res对象,进行回调函数前的拦截器
//2 使用axios后置拦截器,处理没有登录请求
axios.interceptors.response.use(res=>{
    let {success, result} = res.data;
    //用户没有登录
    if(!success && result==="noUser"){
    	//跳转登录界面
        location.href = "/login.html";
        return;
    }
    //后台redis用户已经过期了
    if(!success && result==="expireUser"){
        //移除localStorage
        localStorage.removeItem("token");
        localStorage.removeItem("loginUser");
        //跳转登录界面
        location.href = "/login.html";
        return;
    }
    return res;
},error => {
    Promise.reject(error);
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值