2016-10-18 11 views
1

ReactJSでFetch APIを使用してAWT apigatewayへのPUTリクエストを行うと、エラーが発生します。かなり私はawsでCORSを有効にして、それをdepoyedかなり確かに。メソッドPUTは、プリフライト応答でアクセス制御許可メソッドによって許可されていません。 AWS内

フェッチコードは次のようになります。

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

GETとPOSTリクエストはまだDELETEチェックhave't、すべての作業です。

+0

を追加する必要がありますあなたはCORSを使用して、そのメソッドサーバ側を許可してよろしいですか?私はReactJSタグを削除していますが、これはこれとは関係ありません。 –

+0

@MatthewHerbstはい、aws api gatewayのCORSボタンをクリックしました –

答えて

3

The documentationは明らかにあなたがGETHEAD、またはPOSTにリソースを制限している場合を除き、手動で他のメソッドを追加する必要があると述べている:

あなたはCORSをサポートするためのプリフライトリクエストを処理するためにOPTIONSメソッドを設定する必要があります。ただし、OPTIONSメソッドは、1)APIリソースがGET、HEADまたはPOSTメソッドのみを公開し、2)リクエストペイロードのコンテンツタイプがapplication/x-www-form-urlencoded、multipart/form-dataまたはtext/plainであり、 3)リクエストにカスタムヘッダーが含まれていない。可能な場合は、OPTIONSメソッドを使用してAPIでCORSを有効にすることをおすすめします。

ドキュメントページの下にスクロールします。あなたは

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

関連する問題