如何通过axios.js发送带有令牌的身份验证标头?我尝试了一些没有成功的事情,例如:
const header = `Authorization: Bearer ${token}`;
return axios.get(URLConstants.USER_URL, { headers: { header } });
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
XMLHttpRequest cannot load http://localhost:8000/accounts/user/. Request header field header is not allowed by Access-Control-Allow-Headers in preflight response.
Run Code Online (Sandbox Code Playgroud)
我设法通过设置全局默认设置来使其工作,但我猜这不是单个请求的最佳选择:
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
Run Code Online (Sandbox Code Playgroud)
更新:
科尔的回答帮助我找到了问题所在.我正在使用django-cors-headers中间件,默认情况下已经处理了授权头.
但我能够理解错误消息并修复了我的axios请求代码中的错误,这应该是这样的
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });
Run Code Online (Sandbox Code Playgroud)