【问题标题】:request api gateway cors error请求 api 网关 cors 错误
【发布时间】:2018-03-01 01:45:30
【问题描述】:

我创建了一个 AWS API GATEWAY,并按照 aws doc totur 步骤创建 api 并启用 CROS 和部署!

Enable CORS

✔ 创建 OPTIONS 方法

✔ 在 OPTIONS 方法中添加 200 条带空响应模型的方法响应

✔ 将模拟集成添加到 OPTIONS 方法

✔ 为 OPTIONS 方法添加 200 集成响应

✔ 在 OPTIONS 方法中添加 Access-Control-Allow-Headers、Access-Control-Allow-Methods、Access-Control-Allow-Origin 方法响应标头

✔ 添加 Access-Control-Allow-Headers、Access-Control-Allow-Methods、Access-Control-Allow-Origin 集成响应头映射到 OPTIONS 方法

✔ 将 Access-Control-Allow-Origin 方法响应标头添加到 POST 方法

✔ 添加 Access-Control-Allow-Origin 集成响应头映射到 POST 方法

您的资源已针对 CORS 进行了配置。如果您在上面的结果输出中看到任何错误,请检查错误消息,如有必要,请尝试通过方法编辑器手动执行失败的步骤。

当我使用这个 api 时收到错误消息:

XMLHttpRequest 无法加载 https://xxxxxxx.amazonaws.com/xxxx/xxxx。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:7076' 不允许访问。响应的 HTTP 状态代码为 400。

我应该完成哪一步?

【问题讨论】:

  • 我相信您会知道,但只是为了澄清一下,您是否部署了 API?
  • 我只是描述我的步骤!并想知道我失去了什么!你有什么解决办法吗?thx~~

标签: amazon-web-services cors


【解决方案1】:

终于我发现了我的错误发生了什么! AJAX 发送到 API Gateway 的 payload 不是 JSON 格式,但是 LAMBDA 的输入只支持 JSON 格式的数据,导致 LAMBDA 不能正常处理输入。这反过来又导致了 LAMBDA 的操作出现错误。

发生这种情况时,API GATEWAY 不会收到正常的响应,所以不会返回 'Access-Control-Allow-Origin' 给客户端(AJAX),所以不会出现 HTTP 错误头。

在我使用 JSON.stringify () 函数处理了有效负载后,这个问题得到了解决。

【讨论】:

    【解决方案2】:

    我最近遇到了类似的问题,假设您已经部署了 API:

    再次假设您使用的是 jQuery 之类的 js 客户端,您可能需要记住一些 POST/GET 参数:

    HTTP GET 请求

    $.ajax({
      crossDomain : true,
      contentType : 'application/json',
      method : "GET",
      url : YOUR_API_GATEWAY_URL,
      dataType : "json"
    }).done(...)
    

    HTTP POST 请求

    $.ajax({
       data : JSON.stringify({
         param1 : val1,
         param2 : val2,
         ...
       }),
       crossDomain : true,
       contentType : 'application/json',
       method : "POST",
       url : YOUR_API_GATEWAY_URL,
      dataType : "json"
    }).done(...) 
    

    【讨论】:

    猜你喜欢
    • 2017-05-04
    • 2018-06-07
    • 2016-06-10
    • 1970-01-01
    • 2021-09-25
    • 2017-03-23
    • 2020-05-04
    • 2021-07-02
    • 2019-04-11
    相关资源
    最近更新 更多