Javascript 如何在axios中配置授权承载令牌?

Javascript 如何在axios中配置授权承载令牌?,javascript,vue.js,axios,jwt,vuex,Javascript,Vue.js,Axios,Jwt,Vuex,嗨,我创建了一个登录操作(使用Vuex),它将用户jwt令牌保存到本地存储。在这个登录操作中,我调用另一个操作来获取这个用户创建的一些帖子。在fetchPosts操作中,当我在get请求的头中传递令牌时,它可以完全正常工作 异步登录(上下文,用户){ 试一试{ const res=wait api.post('/users/login',user) localStorage.setItem('jwt',res.data.token) context.commit('SET_USER',res.d

嗨,我创建了一个登录操作(使用Vuex),它将用户jwt令牌保存到本地存储。在这个登录操作中,我调用另一个操作来获取这个用户创建的一些帖子。在fetchPosts操作中,当我在get请求的头中传递令牌时,它可以完全正常工作

异步登录(上下文,用户){ 试一试{ const res=wait api.post('/users/login',user) localStorage.setItem('jwt',res.data.token) context.commit('SET_USER',res.data.USER) dispatch('fetchPosts')的上下文 }捕捉(错误){ console.log(err.response.data) } } 异步fetchPosts(上下文){ 试一试{ const res=wait api.get(“/posts”{ 标题:{ 授权:`Bearer${localStorage.getItem('jwt')}` } }) commit('SET_POSTS',res.data) }捕捉(错误){ console.log(err.response.data) } } 上面的代码工作得非常好,但问题是我有几个身份验证路由,我不想通过

headers:{Authorization:`Bearer${localStorage.getItem('jwt')}}
适用于所有api请求

我想在1个文件中进行配置,我尝试了,但当我登录时,我收到未经验证的消息,当我在“网络”选项卡中检查时,我看到Bearner null传递到授权中。请参阅下面我的配置尝试

从“axios”导入axios
导出默认的axios.create({
baseURL:'http://localhost:3000',
标题:{
授权:`Bearer${localStorage.getItem('jwt')}`
}
})

任何人都知道我哪里出错了,或者我可以做些什么来解决这个问题。

将此添加到main.js文件中

axios.interceptors.request.use(配置=>{
const-token=localStorage.getItem(“jwt”);
config.headers[“Authorization”]=`Bearer${token}`;
返回配置;
});

下面是一个简单的示例,说明如何操作

axios.interceptors.request.use(
(配置)=>{
const-token=localStorage.getItem('authtoken');
如果(令牌){
config.headers['Authorization']='Bearer${token}`;
}
返回配置;
},
(错误)=>{
返回承诺。拒绝(错误);
}
);

查找更多信息

这就是Axios拦截器的用途。当我在api.js文件中添加导出的ontop时,它似乎不起作用。@Still.Dre请描述它是如何不起作用的。您是否看到请求中的标题?值是否错误?@Still.Dre不起作用是一个全局概念。请解释一下这个问题。有什么错误吗?你是如何实施的?怎么了?我在src中的api文件夹中进行了配置。将代码添加到api.js之后。得到同样的错误。