Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript API网关无法启用CORS_Javascript_Reactjs_Amazon Web Services_Aws Amplify_Aws Cdk - Fatal编程技术网

Javascript API网关无法启用CORS

Javascript API网关无法启用CORS,javascript,reactjs,amazon-web-services,aws-amplify,aws-cdk,Javascript,Reactjs,Amazon Web Services,Aws Amplify,Aws Cdk,当我尝试从我的react应用程序请求lambda支持的API(使用API网关,使用CLI和云开发工具包部署)时,我收到以下错误: Access to XMLHttpRequest at 'https://xxxxxxxxxx.execute-api.eu-west-1.amazonaws.com/prod/xxxxx' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to prefligh

当我尝试从我的react应用程序请求lambda支持的API(使用API网关,使用CLI和云开发工具包部署)时,我收到以下错误:

Access to XMLHttpRequest at 'https://xxxxxxxxxx.execute-api.eu-west-1.amazonaws.com/prod/xxxxx' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

GET https://xxxxxxxxxx.execute-api.eu-west-1.amazonaws.com/prod/xxxxx net::ERR_FAILED
使用CDK定义的我的API资源都被传递到

中,就像explain一样,您需要在API网关中启用CORS,但是您还需要从Lambda返回一个
访问控制允许来源
头,因为API网关不会自动将其添加到响应中

以下是我的Lambda返回的简单获取示例:

返回{
标题,
正文:JSON.stringify(response.Item),
状态代码:200
};
常量头={
“访问控制允许来源”:“*”,//CORS支持工作所需
“Access Control Allow Credentials”:true//cookie、带有HTTPS的授权头需要
}

这似乎是一个愚蠢的问题,但您是否在API网关中启用了CORS并重新部署了API?@danimal是的,我已经尝试过了,但问题是CDK应该已经解决了。您是否能够提供用于部署API的CDK代码片段?不,很遗憾,它仍然不起作用。所以这可能不是原因