axios拦截器添加token之后无法登陆的问题
用户登陆的时候 调用login接口 获取用户信息 同时获取token 之后调用请求都添加token 于是就把token添加到了请求头里 axios里面添加了之后就无法登陆了 求问哪里出了问题
请求拦截器
这段注销的话 可以正常登陆
axios.interceptors.request.use(config => {
const token = this.$store.state.token;
if (token) {
console.log(token);
config.headers.Authorization = token;
}
return config;
}
);
logi方法
login() {
// this.redirect();
this.$refs.form.validate(valid => {
if (valid) {
this.loading = true;
this.form.account = this.form.account.trim();
this.form.account = this.form.account.toLowerCase();
if (this.remember) {
this.setCookie("user", this.form.account, 7);
this.setCookie("password", secret.Encrypt(this.form.password), 7);
this.delCookie("pwd");
}
this.isLogin = true;
// this.redirect();
this.$axios.post('/login',this.form).then((res) => {
console.log(res);
if (res.success) {
this.$store.commit('setUserInfo', res.result.userInfo);
this.$store.commit('setToken',res.result.token);
console.log(111111,this.$store.state.userInfo);
console.log(2222,this.$store.state.token);
this.isLogin = true;
this.redirect();
}
// else {
// this.loading = false;
// if (res.code === 500) {
// this.$alert(res.message);
// } else {
// this.$alert('登录失败,请稍后重试');
// }
// this.form.verificationCode = '';
// this.form.passWord = '';
// this.refresh();
// }
}).catch(()=>{
this.loading = false;
this.$alert('系统繁忙,请稍后重试');
});
}
});
},
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个问题我遇到过。登录接口不需要token,你再传个token过去,接口就会调用失败。所以这是接口的设计问题。前端要改,就要避雷,除了判断有token还要判断接口不是登录接口,才能添加token。