Har*_*rry 0 amazon-web-services node.js aws-lambda aws-api-gateway
我有一个 aws lambda 函数,它返回以下响应:
var responseBody = { cost: price };
var response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*"
},
body: JSON.stringify(responseBody),
isBase64Encoded: false
};
callback(null, response);
Run Code Online (Sandbox Code Playgroud)
但是我在前端 Angular 应用程序中收到以下错误。
CORS 政策已阻止在“ https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/price ”处访问 XMLHttpRequest,来自源“ http://127.0.0.1:8080 ”:响应预检请求未通过访问控制检查:它没有 HTTP ok 状态。
如果您使用的是 API Gateway HTTP API(不确定这是否与 REST API 相关):
假设我在/POST products. 我不得不在 at添加另一个端点/OPTIONS products并将其与一个简单的 Lambda 函数集成,该函数只返回 HTTP 200 OK(或 HTTP 204 No Content)和"Access-Control-Allow-Origin": "*"标头(或者甚至更好,指定源/客户端的 URL)。
这是因为浏览器发出预检/OPTIONS请求到同一个端点,发出的实际要求(见之前更多),除了为所有HTTP请求GET,并POST与某些MIME类型(来源)。
| 归档时间: |
|
| 查看次数: |
2352 次 |
| 最近记录: |