0

部分項目寫入DynamoDB表,我想寫進入我的網頁上,從一個DynamoDB數據庫中的數據,對於這一點,我已經寫在代碼的Node.js AWS lambda將項目寫入DynamoDB表。創建一個包含多個條目的網頁表單,供用戶填寫所需信息並創建API網關以連接Lambda和HTML網頁。以下是Lambda,API網關和HTML表單的代碼。請通過他們。使用API​​網關和Lambda從網頁

LAMBDA我的代碼:

exports.handler = function (e,ctx,callback) { 
"use strict"; 

var params = { 

Item : { 

      marchp : e.stepno, 
      Prev_step_no :e.prevstepno, 
      Next_step_no: e.nextstepno, 
      Inputdata : e.inputdata, 
      Acknowledgement: e.acknowledgement, 
      Condition: e.condition, 
      }, 
     TableName : 'MARCHPevents' 
    }; 

API網關身體映射模板:

{ 
    "stepno": $input.json("$.stepno"), 
    "prevstepno": $input.json("$.prevstepno"), 
    "nextstepno": $input.json("$.nextstepno"), 
    "inputdata": $input.json("$.inputdata"), 
    "acknowledgement": $input.json("$.acknowledgement"), 
    "condition": $input.json("$.condition") 
    } 

HTML代碼考取數據API網關:

url:API_URL, 
success: function(data){ 
$('#entries').html(''); 

data.Items.forEach(function(MARCHPreventsItem){ 
$('#entries').append('<p>' + MARCHPreventsItem.InputData + '</p>'); 
}) 
} 
}); 
}); 

$('#submitButton').on('click', function() { 
    $.ajax({ 
     type: 'POST', 
     url: API_URL, 
     data: JSON.stringify({ "stepno": $('#s1').val() }), 
     data: JSON.stringify({ "prevstepno": $('#p1').val() }), 
     data: JSON.stringify({ "nextstepno": $('#n1').val() }), 
     data: JSON.stringify({ "inputdata": $('#msg').val() }), 
     data: JSON.stringify({ "acknowledgement": $('#ack').val() }), 
     data: JSON.stringify({ "condition": $('#con').val() }), 
     contentType: "application/json", 
     success: function (data) { 
      location.reload(); 
     } 
    }); 
    return false; 
}); 

如果將從HTMLwebpage表單傳遞的一個值傳遞給API網關,並完全傳遞給將該值寫入DynamoDB的Lambda。

問題面對的,是通過一個以上的值從HTML網頁表單API網關是在拉姆達

任何幫助其調用錯誤了?

+2

您的代碼不完整並且有語法錯誤(請參閱[jQuery.ajax()](http://api.jquery.com/jquery.ajax/) ))。請再次通過您的代碼並添加所有相關信息,以幫助識別您的問題。例如,您的Lambda函數使用哪種DynamoDB/DocumentClient方法? –

回答

0

你的JavaScript看起來不正確 - 要覆蓋的數據參數。您需要設置數據對象的屬性,例如:

var obj = { 
     stepno : ${'#s1'}.val(), 
     prevstepno : ${'#s2'}.val(), 
     ... 
    } 

    $.ajax({ 
     type: 'POST', 
     url: API_URL, 
     data: obj, 
     contentType: "application/json", 
     success: function (data) { 
      location.reload(); 
     } 
    });