【发布时间】:2019-10-23 12:15:50
【问题描述】:
我已经开发了一个带有 .net 核心的 AWS 函数,它已部署到 AWS,我可以从 Postman 调用它,看起来一切正常,但是当我尝试从带有 Axios 库的反应应用程序调用它时,我收到了这个错误:
(index):1 从源 'http://localhost:3001' 访问 XMLHttpRequest 在 'https://awsfunctionurl/api/Organisations' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态.
这里是调用 API 的代码:
const response: Response = await axios.get(url,{
headers:{
"content-type": "application/json; charset=utf-8",
"Authorization": `Bearer ${accesToken}`
},
})
当我删除授权标头时,它开始工作!
【问题讨论】:
-
据我所知,
CORS是由浏览器引起的。 -
更好地查看你的 lambda/api 网关的 CORS 设置,邮递员似乎并没有强制执行它们,而运行 react 的浏览器当然会执行
-
是因为我在本地机器上运行这个应用程序吗?所以如果我在某个地方发布它应该可以工作吗?
标签: reactjs amazon-web-services aws-lambda axios