繁体   English   中英

从API网关和lambda进行GET时出现Access-Control-Allow-Origin问题

[英]Access-Control-Allow-Origin issue when GET from API gateway and lambda

我正在使用Angular httpclient向API网关发出get命令,该触发器触发lambda获取数据并返回。 从网络图中,我看到返回的数据,但是我没有在httpclient get的处理程序中接收到数据,就像发生了错误一样。 我得到这个错误:

无法加载https://yxalbf1t6l.execute-api.us-east-1.amazonaws.com/dev/todos :所请求的资源上没有“ Access-Control-Allow-Origin”标头。 因此,不允许访问源' http:// localhost:4200 '。

根据以下建议,我已在lambda上实现了CORS标头设置: API Gateway CORS:无“ Access-Control-Allow-Origin”标头

并检查了API网关,以将响应映射到来自https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html的 OPTIONS中

有什么建议么?

在我这边,即使考虑到API Gateway会生成CORS标头和OPTIONS方法,我仍然需要将标头注入到lambda上。

Chrome希望在每个响应中看到相同的访问控制标头,并且Lambda代理集成不会注入选择。

我只是在返回消息中添加了标题行,例如:

return {
    'statusCode': 200,
    "headers": { "Access-Control-Allow-Origin": "*"},
    'body': json.dumps(message, default=convert_timestamp)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM