【发布时间】:2021-12-10 21:10:33
【问题描述】:
我正在制作一个 MERN 应用程序。在 useEffect 内部,我正在进行 API 调用,在其中设置了一个自动令牌。但我无法从后端的标头中获取授权令牌。
useEffect(()=>{
fetch(`${API}/${userId}/courses`,{
method:"GET",
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}).then(response=>{
return response.json();
}).then(data=>{
console.log(data)
})
})
如果我尝试在后端控制台.log req.headers,我会收到如下响应:
{ host: 'localhost:3030',
connection: 'keep-alive'
origin: 'http://localhost:3000',
referer: 'http://localhost:3000/',
}
其中没有授权属性。 但是,如果我尝试从 POSTMAN 进行相同的 api 调用,我会在标头中获取授权令牌。有什么问题?
【问题讨论】:
-
我相信,您在与服务器不同的域上运行站点。这就是您无法访问非标准标头(跨源资源共享)的原因。请查看此详细答案以进行澄清stackoverflow.com/questions/38953864/…
标签: javascript reactjs express