首页 > 解决方案 > Mac OS 上的 API 网关 axios 网络错误

问题描述

我正在尝试从我的 ReactJS 应用程序(Mac)调用带有 axios 的 API。但我不断收到此错误消息,

从源“ https://localhost:3000 ”访问“ https://api_url/ ”处的 XMLHttpRequest已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:否 'Access-Control-Allow- Origin' 标头存在于请求的资源上。

我参考了其他stackoverflow答案,但错误仍然存​​在。我不知道我在哪里犯了错误,无论是在 AWS 后端还是前端。如果有人有想法或解决方案,请分享。

提前致谢,

标签: amazon-web-servicesaxiosaws-api-gateway

解决方案


这是由于默认情况下禁用了跨域资源共享 (CORS)。

您的 React 应用程序来自不同的域(例如https://localhost:3000),因此默认情况下无法调用远程服务器(例如' https://api_url/)。

请参阅Wikipediaenable-cors以获得很好的解释。

这必须明确启用。

AWS API Gateway 将允许您从 UI 执行此操作。

  • 在 UI 中选择您的 API
  • 在操作下拉列表中选择“启用 CORS”
  • 按照表格启用,您应该一切顺利!

推荐阅读