我有一个aws lambda函数,它返回以下响应:
@abc = split(".", $ARGV[0]);
foreach $a (@abc){
if $a != [0 .. 256] {
print "not an ip class"
}
else {
print "it's an ip class"
}
}
但是我的前端Angular应用程序中出现以下错误。
在以下位置访问XMLHttpRequest 来自的“ https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/price” 原产地“ http://127.0.0.1:8080”已被CORS政策阻止: 对预检请求的响应未通过访问控制检查: 没有HTTP正常状态。
答案 0 :(得分:4)
这花了我一段时间,希望能对某人有所帮助。
我正在使用API网关HTTP API。
假设我在/POST products
有一个端点。我必须在/OPTIONS products
处添加另一个端点,并将其与简单的Lambda函数集成在一起,该函数仅返回200和"Access-Control-Allow-Origin": "*"
标头。
即使从API Gateway和/POST products
端点启用了CORS,也需要执行此操作。来自fetch
或XMLHttpRequest
的预检请求调用/OPTIONS products
。
答案 1 :(得分:1)
您需要使用API网关在资源上启用CORS,请检查此链接以获取更多信息https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html