0

我有一个 SPA(前面是 CloundFront),它调用我在 APIGateway 上设置的 GET 端点。spa 的域与 API 网关的域不同。当我的 SPA 尝试对资源执行 GET 操作时,我得到了如下所示的同源策略异常

 "No Access-Control-Allow-Origin header is present on requested resource"

这是我在 API Gateway 上的设置。我有一个 Options 资源,它返回以下内容

Access-Control-Allow-Methods: 'GET, OPTIONS'
Access-Control-Allow-Headers: 'Content-Type,X-Api-Key,X-Requested-With'
Access-Control-Origin: '*'

我有一个获取资源,它反过来调用我的后端服务(我的服务的代理)。我已设置资源以将这些标头作为响应的一部分返回

Access-Control-Allow-Headers
Access-Control-Allow-Methods
Access-Control-Allow-Origin

浏览器的选项调用返回 200,包含所有必要的访问控制内容。但是当浏览器进行 GET 调用时,我得到了相同的源策略异常。有什么想法吗?是因为我的 GET 响应没有明确设置 Access-Control-Origin 的值吗?

谢谢凯

4

1 回答 1

0

我有一个 Options 资源,它返回以下内容

您需要的标题是 Access-Control- Allow - Origin: '*'。

但是,是的,您确实需要返回它,因为 simpleGET不会执行 pre-flight OPTIONS *

于 2017-10-20T00:51:03.160 回答