AWS CORS策略:所请求的资源上不存在“ Access-Control-Allow-Origin”标头。标头存在

时间:2019-02-15 07:53:48

标签: amazon-web-services cors aws-lambda

一段时间以来,我一直在与AWS的这些可怕的CORS问题作斗争。我以为我整理了一下然后又出现了……我确实想让我在其他运行良好的Lambda函数中使用。

为什么现在不起作用?

我在我的handler.js文件中添加了对所有Lambda函数的响应的标头(我正在使用无服务器部署到AWS)

docClient.get(params, function (err, data) {
        if (err) {
            const response = {
                statusCode: 500,
                headers: {
                    "Access-Control-Allow-Origin": "*", // Required for CORS support to work
                    "Access-Control-Allow-Credentials": true
                },
                body: JSON.stringify({
                    message: 'Failed to fetch service request from the database.',
                    error: err
                }),
            };
            callback(null, response);
        }
        else {


            const response = {
                statusCode: 200,
                headers: {
                    "Access-Control-Allow-Origin": "*", // Required for CORS support to work
                    "Access-Control-Allow-Credentials": true
                }
            };
            callback(null, response);
        }
    });

在.yml文件中:

  myLambdaFunc:
    handler: handler.myLambdaFunc
    events:
      - http:
          path: myLambdaFunc
          method: POST
          cors: true

1 个答案:

答案 0 :(得分:0)

我发现问题出在docClient.get。我正在用数据进行测试,其中要搜索的主键项不在表中。

我希望它没有告诉我这是一个CORS问题,因为确实不是。.