支持Amazon CORS的api不返回“Access-Control_allow_Origin”标头

时间:2016-09-01 19:15:03

标签: ajax cors aws-api-gateway

按照说明设置Amazon API Gateway CORS后,发送Ajax POST请求时仍会出现以下错误。

  

XMLHttpRequest无法加载https://-------.execute-api.us-west-2.amazonaws.com/--------。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://------.s3-website-us-west-2.amazonaws.com”访问。响应的HTTP状态代码为400。

我正在使用Amazon S3来托管该网站,该网站不支持网页脚本,因此我无法使用python或php来修复此问题。

我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

您是否正在使用Lambda-proxy集成并且您的Lambda没有返回这些标头?如果是这种情况,您必须自己添加这些标题。

这是我使用callback(null, response)创建回复的方式。

function createResponse(statusCode, body) {
    const headers = {
        'Access-Control-Allow-Origin': '*',
    }

    return {
        headers,
        statusCode,
        body: body ? JSON.stringify(body) : undefined,
    }
}