为什么axios.interceptors执行了两次。
为什么axios.interceptors执行了两次
new Vue({
router,
store,
created() {
Vue.prototype.$http = axios;
this.$http.interceptors.response.use(response => {
console.log('-----')
return response.data
}, error => {
if (error && error.response && error.response.status == "401") {
this.$cookies.remove("userName");
this.$cookies.remove("token");
//应该清除router路由信息,不然菜单会有问题
this.$router.options.routes = [];
this.$router.push({ path: "/login" });
}
return Promise.reject(error)
});
if (VueCookies.get("token")) {
axios.defaults.headers["Authorization"] = VueCookies.get("token");
store.dispatch("UpdateMenu");
} else {
this.$cookies.remove("userName");
this.$cookies.remove("token");
//应该清除router路由信息,不然菜单会有问题
this.$router.options.routes = [];
this.$router.push({ path: "/login" });
}
},
render: h => h(App)
}).$mount('#app');
打印了两行“----”。其他地方没有设置axios.interceptors
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我也碰到了,初步发现,是因为重复注册了这个拦截器导致。
我现在也遇到了,脑壳疼 data functions should return an object 主要是找不到它为什么会触发两次的原因