Http headers 使用axios在标头中传递JWT
我已经创建了一个小项目,它有一个节点后端和react前端,通过REST调用获取数据。我使用了Axios库,但是当我传递标题时,我不断收到一个错误,上面写着:Http headers 使用axios在标头中传递JWT,http-headers,axios,Http Headers,Axios,我已经创建了一个小项目,它有一个节点后端和react前端,通过REST调用获取数据。我使用了Axios库,但是当我传递标题时,我不断收到一个错误,上面写着: 加载资源失败:服务器响应状态为401(未授权) 我找到了两种方法,但都不管用。它们是: export const getUsersDetails=()=>{ console.log('calling'); return (dispatch) => { return axios.get('http://localh
加载资源失败:服务器响应状态为401(未授权)
我找到了两种方法,但都不管用。它们是:
export const getUsersDetails=()=>{
console.log('calling');
return (dispatch) => {
return axios.get('http://localhost:3030/users',{headers: { "Authorization": localStorage.getItem('jwtToken') }}).then((data)=>{
console.log('data comming',data);
dispatch(getUsersData(data));
}).catch((error)=>{
console.log('error comming',error);
dispatch(errorgetUsersData(error));
});
};
}
及
但是当我使用postman时,我从后端获取所需的数据。有什么特别的原因让我一直收到这个未经授权的错误吗?您需要在令牌之前连接'Bearer',如下所示:
axios.defaults.headers.common['Authorization'] =
'Bearer ' + localStorage.getItem('jwtToken');
在这里,它只适用于
axios.defaults.headers.Authorization='Bearer'+localStorage.getItem('jwtToken')代码>。顺便说一句,我使用的是Vue,我把它放在main.js
中。您好,Fuseldieb或dplaza或Clonkex,您能更新代码吗。。我不明白它放在哪里:axios.defaults.headers.common['Authorization']='Bearer'+localStorage.getItem('jwtToken');很抱歉我也遇到了同样的问题JWT代表JSON Web令牌。当您使用变量名jwtToken
时,它实际上读起来就像JSON Web令牌。我建议省略冗余,只使用jwt
(或者其他一些非冗余名称)。
axios.defaults.headers.common['Authorization'] =
'Bearer ' + localStorage.getItem('jwtToken');