jquery $.ajax
を使用したときにpostmanを使用して呼び出すとうまく動作するラムダ(ノード)関数があります。AWS API Gateway Lambda関数はPostmanで動作しますが、jqueryでは使用できません
この関数は、javascript/jqueryを使用してローカルのhtmlページから呼び出されています。
私は「Allow-Control-Allow-Origin」クロムプラグインを有効にしました。
要求はpossmanとjQueryを使用して同じjsonオブジェクトを渡します。
{
"deviceid" : "ZZ-5A-04-A6-XX-YY"
}
次のゲートウェイリクエストマッピングテンプレートを試しました。私は次の行
deviceid=ZZ-5A-04-A6-XX-YY
$input.body
を参照してもノードオブジェクトをログに記録する場合
$input.json('$')
私はエラーを取得する:
Could not parse request body into json: Unrecognized token
jQuery.ajaxリクエストはどのように見えますか?あなたは 'Content-Type:application/json'ヘッダを渡していますか? – fubar
ラムダプロキシの統合はどうですか?はるかに簡単です。スイッチングはすぐに問題を解決することはありませんが、保守やトラブルシューティングが容易になります。 – dashmug
var hardobj = { \t \t "deviceid": "ADKNDND" \t}; \t $アヤックス({ \tタイプ: 'POST' \t URL:API_URL、 \tデータ:hardobj、 \tデータ型: 'JSON' \tヘッダー:{ \t \t「アクセス制御-Allow- X-Amz-Security-Token '、 'アクセス制御を許可するヘッダー ':コンテンツタイプ、X-Amz-Date、承認、X-Api-Key、コントロール許可 - 資格情報 ':true、 'コンテンツタイプ ':'アプリケーション/ json ' \t}、 \t crossDomain:true、(データ){\t console.log( "error =" + JSON.stringify(data)); \t} \t}); – user2324723