从 Angular 9 调用 AWS api 给出 cors 错误

Posted

技术标签:

【中文标题】从 Angular 9 调用 AWS api 给出 cors 错误【英文标题】:Call to AWS api from Angular 9 giving cors error 【发布时间】:2020-12-06 23:39:03 【问题描述】:

我正在 Angular 9 中编写一个调用 AWS API 的 post 方法。但是,当我在 Angular 9 中调用 post 函数:this.http.post(url, body, requestOptions) 时,在我的浏览器中出现以下错误:Access to XMLHttpRequest at 'url' as been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response. 我已经在我的 AWS API 上启用了 CORS(并部署了它)。另外,我的angular.json 中包含以下proxy.conf.json

"/api/*": 
"target": "url",
"secure": true,
"changeOrigin": true

但我仍然收到 cors 错误。我已经使用 Postman 测试了我的 POST 请求,并且请求运行良好。有没有办法解决这个 CORS 错误?

【问题讨论】:

您是否尝试过安全:假?我想你可以在这里找到一些解决方案***.com/questions/39809008/…。 【参考方案1】:

我建议您关注 AWS 文档上的 Enabling CORS for a REST API resource。

由于邮递员发出的请求向我们暗示问题很可能是客户端的问题。

【讨论】:

以上是关于从 Angular 9 调用 AWS api 给出 cors 错误的主要内容,如果未能解决你的问题,请参考以下文章

AWS Lambda 网关 API 给出错误消息

从调用 AWS Lambda 的 Angular 工厂获取数据到控制器中

如何从 AWS Lambda .Net Core 应用程序 API 连接到 AWS RDS SQL Server?

在Angular 9中同步(即)按顺序进行N次api调用的最佳方法

在 Angular 11 中,如何通过 API Gateway 将应用程序/json HTTP POST 到 AWS Lambda?

将 aws-sdk 集成到 angular2 会给出“找不到模块‘流’”