2017-10-05 10 views
1

私はjQueryの& AJAXを使用してAWS S3 APIゲートウェイにPOSTリクエストを作っています。提出すると、影が更新されます。しかし、私はコンソールでエラーが発生します。ここでCORSの問題 - POST時にアクセス制御 - 許可 - 起源エラー(jqueryのアヤックス)

var myJSON = JSON.stringify(obj); 
$.ajax({ 
    type: "POST", 
    url: "<aws-url>" , 
    data: myJSON, 
    crossDomain : true, 
    //dataType: 'jsonp', 
    headers :{ 
      'Content-Type':'application/x-www-form-urlencoded' 
      }, 
    success: function(result) { 
     console.log("done"); 
    } 
}); 

、コードのAjaxの一部であるPOSTが動作し、影が更新されますが、私はまだコンソールで次のエラーを取得します。また、私は郵便配達員がPOSTメソッドで使用できないことを知っています。 ここにエラーがあります: ロードに失敗しました:いいえ 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに存在します。 Origin 'https://s3-ap-southeast-1.amazonaws.com'はアクセスできません。

何が起こっているのか分かりません。助けてください!!

+0

を作成した後に以下のようなCORSを有効にします実際にはエラーポストマンがいないのですか?](https://stackoverflow.com/questions/20035101/why-does-my-javascript-get-a-no-access-control-allow-origin-header-is-present) – Igor

+0

私はすでにポストとそれが役に立たなかったのを見ました。だから私は自分自身でこの質問をしました。実際に私はS3のAPIゲートウェイに投稿しています。私はPOSTリクエストをしているので、Jsonpは動作しませんでした。また、私が言ったように、POSTが動作しますが、私は私のコンソールでURLを明らかにするエラーを取得します。したがって、私はエラーを取り除きたい。 – Namah

答えて

0

以下のようにCORSをAPIゲートウェイで有効にしてください。

あなたはOPTIONSが追加されていない場合は(既に存在OPTIONSはただCORSを追加した場合)、手順の下に従ってください

  • 作成および移入
  • /サービスリソースの下に新しいOPTIONSメソッドを作成します。 OPTIONSメソッドのAccess-Control-Origin/Method/Headersを許可します。

[なぜ私のJavaScriptが「いいえ 『をアクセス制御 - 許可 - 起源』ヘッダが要求されたリソース上に存在する」取得んの可能性の重複をOPTIONS

enter image description here

+0

ありがとう、私はすでにCORSを有効にしています。私はContent-Type、X-Amz-Date、Authorizaiton、X-API-key、およびXである私に提供されたデフォルト値にAccess Control-Allow-Originを「*」およびAccess-Control-Allow-Headersに設定しました-Amz-Security-Token。また、アクセス制御許可メソッドをPOST、GET、OPTIONSに設定しました。まだ動作しません。メソッドはラムダ関数であり、認証は必要ありません。しかし、私はゲートウェイの応答のいずれかをチェックしていない。助けてください。 – Namah

+0

変更後にAPIをデプロイしたことがあるかもしれませんが、確認するには –

+0

はい。 APIをデプロイしてから、シャドウを更新するPOSTリクエストを作成しました。しかし、私は、私が応答ヘッダーのアクセス制御許可元を取得しないと思う。レスポンス自体はnullで、POSTが成功したことを意味します。それでもコンソールのエラーは解決されていません。 – Namah

関連する問題