在使用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。
答案 0 :(得分:5)
The documentation明确指出您需要手动添加其他方法,除非您将资源限制为GET
,HEAD
或POST
:
您必须设置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 : "'*'"