为了账号安全,请及时绑定邮箱和手机立即绑定

如何在没有任何 API 调用的情况下从网页 Javascript 将 JSON 字符串传递给

如何在没有任何 API 调用的情况下从网页 Javascript 将 JSON 字符串传递给

江户川乱折腾 2021-12-23 19:25:18
我试图将输入到网页上 HTML 表单的各个字段中的数据作为 JSON 字符串发送到 AWS Lambda,以便 Lambda 可以将其输入到 DynamoDB 表中。由于这是一个类项目,我选择放弃使用网关 API,我只想从网页 javascript 内部原始调用 Lambda 函数并将 JSON 作为参数传递给 Lambda 函数。我的网页成功调用了 Lambda 函数,我已对其进行硬编码以将预定义的条目输入到 Dynamo 表中。我也有 web js 从表单制作一个 JSON 字符串。我的目标是在调用 Lambda 函数时将 JSON 字符串作为参数发送给它,但我不确定我将如何进行,因为这是我第一次使用 AWS。我知道我必须对有效载荷参数做一些事情,但我可以' 没有找到一个明确的例子来说明什么。我确保我在 HTML 中有正确的凭据和 SDK 导入。下面是我的代码:网页JS:var lambda = new AWS.Lambda();function makeJSON(){  var userID = "";  var name = document.forms["characterForm"]["characterName"].value;  //alert(name);  //alert(typeof name);  var race = document.forms["characterForm"]["race"].value;  var playerClass = document.forms["characterForm"]["class"].value;  var strength = document.forms["characterForm"]["strength"].value;  var dexterity = document.forms["characterForm"]["dexterity"].value;  var constitution = document.forms["characterForm"]["constitution"].value;  var intelligence = document.forms["characterForm"]["intelligence"].value;  var wisdom = document.forms["characterForm"]["wisdom"].value;  var charisma = document.forms["characterForm"]["charisma"].value;  //alert(name + race + playerClass + strength, dexterity, constitution, intelligence, wisdom, charisma);  characterSheetObj = {userID: userID, name: name, race: race, class: playerClass, strength: strength, dexterity: dexterity, constitution: constitution, intelligence: intelligence, wisdom: wisdom, charisma: charisma}  characterSheetJSON = JSON.stringify(characterSheetObj);  var myParams = {    FunctionName : 'addCharacterSheet',    InvocationType : 'RequestResponse',    LogType : 'None',    //Payload : {"userID": userID, "name": name, "race": race, "class": playerClass, "strength": strength, "dexterity": dexterity, "constitution": constitution, "intelligence": intelligence, "wisdom": wisdom, "charisma" : charisma}  }我认为它与 Node.js 代码中的 events.body 有关,但同样,我对此不是很清楚,而且我无法从 Amazon 的文档中获得太多信息。任何建议、提示或资源都将不胜感激
查看完整描述

2 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

我不知道我是否正确理解您的问题,但您传递给 AWS Lambda 的参数可在 event.arguments


查看完整回答
反对 回复 2021-12-23
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

只需将有效负载作为 JSON 字符串传递:


var payload_obj = { name: "John", age: 30, city: "New York" };

var payload_json = JSON.stringify(payload_obj);


var myParams = {

    FunctionName: 'addCharacterSheet',

    InvocationType: 'RequestResponse',

    LogType: 'None',

    Payload: payload_json

  }


lambda.invoke(myParams, function(err, data){

      ...

    });


查看完整回答
反对 回复 2021-12-23
  • 2 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号