2017-12-08 18 views
1

AWSにLambda関数があり、Python 3.6で書かれています 私のAPIを配備し、CORSをすべてのリソースに有効にしました 私がテストするとAWS APIゲートウェイからのPOSTは正常に動作します。 郵便配達から試してみると成功しますが、試してみると 私のS3バケットでホストされているhtmlは動作しません!私はそうのようなポスト要求を作ってみる:HTMLからAPIゲートウェイ経由でPython Lambda関数にPOSTリクエストを送信

$.ajax({ 
    type: 'POST', 
    url: 'https://xxxxxxx.execute-api.us-east-1.amazonaws.com/dev/myapp', 
    data: '{"fName":"jonas","lName": "Hoda", " Email":"[email protected]", "Age": 45, "Hight": 190, "Income": 120000}', 
    success: function(data) { alert('data: ' + data); }, 
    contentType: "application/json", 
    dataType: 'json' 
}); 

をしかし、私は同じ応答を得続ける: いいえ「アクセス制御 - 許可 - 起源」ヘッダは、要求されたリソース上に存在します。 Origin 'http://app.my-real-domain.com'はアクセスできません。応答にはHTTPステータスコード400が付きました。

ほかに何が必要ですか? APIやPythonの関数で何かを編集する必要がありますか? この問題を解決するお手伝いをします ありがとうございます...

+0

CORSを有効にしていないようです。 CORSを有効にした後でAPIを再デプロイしましたか? –

+0

応答ありがとうございます、もちろん私はCORSを有効にした後に再展開しました...実際には何度も再配備されました。CORSが有効になっていることを確認するたびにヘッダーを確認しますが、エラー –

+0

ラムダプロキシ統合を使用していますか? – dashmug

答えて

1

OK解決策を見つけました。 最初に私がここに持ってきたすべてのアイデアを試しましたが、何もできませんでした。 実際にそれらのほとんどがすでにプロジェクトに適用されていました。 問題がAPIにあるかどうかを確認しようとしました。 API-Gatewayで突然動作しました! ポストリクエストはエラーなしで正常に実行され、ラムダ バックエンドではDynamo DBにデータが格納され、 正しいレスポンスが返されたので、モデルスキーマを API-Gatewayで編集し、 'requiredもう一度やり直してください 今はすべてOKです! 私がこの問題を特別に解決した理由は分かりません 数十回のパラメータとそれが右を使用して渡されています 名前とタイプ.. とにかく誰か他の人がこの問題を抱えている場合はどうでもいいです そしてありがとう誰でも私を助けようとしました...

関連する問題