Vue.js的mounted()中未调用axios侦听器

Vue.js的mounted()中未调用axios侦听器,vue.js,axios,Vue.js,Axios,我在Vue应用程序中使用JWT,需要使用Axios在每个AJAX请求中提交必要的授权头。在我的“main.js”文件中,我设置了一个拦截器,它可以执行以下操作: axios.interceptors.request.use(req=>{ if(sessionStorage.getItem('token')){ req.headers['Authorization']=auth.getAuthHeader(); } 返回请求; }); 但是,在一个组件中,我在mounted()中发出AJAX请求

我在Vue应用程序中使用JWT,需要使用Axios在每个AJAX请求中提交必要的授权头。在我的“main.js”文件中,我设置了一个拦截器,它可以执行以下操作:

axios.interceptors.request.use(req=>{
if(sessionStorage.getItem('token')){
req.headers['Authorization']=auth.getAuthHeader();
}
返回请求;
});
但是,在一个组件中,我在mounted()中发出AJAX请求,因此:

mounted(){
这是salePrep();
}
方法如下:

async salePrep(){
const response=等待此消息。$axios.get(contextPath+“/sale/prep”);
这是.$store.commit(“setData”,response.data);
},
出于我不理解的原因,axios拦截器不是为此而调用的。舞台上有什么我没有掌握的东西吗?为什么这个AJAX调用会有所不同?加载组件后,所有AJAX调用都会成功使用拦截器,即设置授权标头。只是不是mounted()中的那个

编辑:我已经确定“created()”中的调用也是如此。

无法评论抱歉


在main.js中创建Vue实例之前,请确保您正在创建拦截器。

似乎很奇怪。您确定
sessionStorage.getItem('token')
返回了什么吗?(可能尝试
console.log
以确保…)尝试了console.log,根本没有调用拦截器。我相信这是关键,谢谢-我是在创建Vue实例之后创建拦截器的。将代码块向上移动,所有代码似乎都在正常工作。