👋 欢迎浏览我的技术博客,记录学习笔记 本人28届软工一枚

10.7 解决页面刷新时401

一.现象

在成功登录后在任意界面刷新后显示401

二.原因

浏览器地址栏刷新 /customer/pay,这是浏览器发起的原生 GET 请求,不是 axios 请求,axios 请求拦截器只会给 axios 请求加 token,不会干预浏览器原生地址栏请求,因此后端返回401

三.解决

浏览器原生页面请求(F5 刷新、地址栏回车)的请求头 Accept 包含 text/html,所以仅需要在vite转发过程中插入钩子函数bypass,判断请求头是否有accept的text/html
bypass(req) {
if (req.headers.accept && req.headers.accept.includes('text/html')) {
return '/index.html'
}
}

posted @ 2026-10-07 10:59  气球飞起  阅读(12)  评论(0)    收藏  举报