我正在写一个界面。通过使用 axios 的 api 服务进行 jwt 身份验证。我写了拦截器,如果旧的已经过期,它会重新请求 jwt。
this.$http.interceptors.response.use(null, (error) => {
if (error.config && error.response && error.response.status === 401) {
return this.$store.dispatch('auth/refreshtoken').then((res) => {
if(res.success) {
error.config.headers.Authorization = 'Bearer ' + this.$store.getters['auth/token'];
return this.$http.request(error.config);
} else {
this.$router.push('/login')
}
});
}
return Promise.reject(error);
})
现在我在捕捉 401 错误时遇到了问题,如何防止错误输出到 F12 控制台?
Failed to load resource: the server responded with a status of 401 (Unauthorized)
.
我希望 axios 尝试重新请求 401 错误,但不将错误输出到控制台。
没门。此消息由浏览器显示。但是您可以采用另一种方式 - 在发送请求之前,使用 . 检查令牌过期时间
axiosInstance.interceptors.request
。这是一个示例,您首先需要安装一个附加包
npm install jwt-decode
: