在预检响应中,Access-Control-Allow-Methods不允许使用方法PUT。在AWS中

时间:2016-10-18 20:59:11

标签: javascript amazon-web-services aws-api-gateway

在使用ReactJS中的Fetch api向AWS apigateway执行PUT请求时,我一直收到错误。我非常确定我已经在aws中启用了CORS并将其驱逐了。

获取代码如下:

fetch(urlUpdate, {
        method: "PUT",
        headers: {
          "Content-Type": "application/json"           
        },
        mode: 'cors',
        body: JSON.stringify({
          "Item": value;
        })
      });

GET和POST请求都正常,还没有检查DELETE。

1 个答案:

答案 0 :(得分:5)

The documentation明确指出您需要手动添加其他方法,除非您将资源限制为GETHEADPOST

  

您必须设置OPTIONS方法来处理支持CORS的预检请求。但是,如果1)API资源仅公开GET,HEAD或POST方法,并且2)请求有效负载内容类型为application / x-www-form-urlencoded,multipart / form-data或text / plain,则OPTIONS方法是可选的。 3)请求不包含任何自定义标头。如果可能,我们建议使用OPTIONS方法在API中启用CORS。

滚动到文档页面的底部。你需要添加

method.response.header.Access-Control-Allow-Methods : "'*'"