Ниже приведена моя форма ввода, из которой я хочу отправить 2 введенных числа в виде POST на AWS Lambda и хочу, чтобы они были добавлены, и я хочу, чтобы ответ добавленных номеров отображался в браузере клиента. Отметим, что мы используем AWS CodeStar, поэтому лямбда-часть не может быть нарушена нами.
Для этого я написал код:
app. js
var express = require('express');
var app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:true}));
app.get("/", function(req, res) {
res.sendFile(__dirname+ "/index.html");
});
app.post("/", function(req, res) {
var a = Number(req.body.num1);
var b = Number(req.body.num2);
var c = a+b;
res.send("The sum is" + c);
});
// Export your Express configuration so that it can be consumed by the Lambda handler
module.exports = app
Ошибка, которую мы получаем: {"message":"Forbidden"}
index. html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Calculator</title>
</head>
<body>
<form action="/" method="post">
<input type="text" name="num1" placeholder="Enter No. 1">
<input type="text" name="num2" placeholder="Enter No. 2">
<button type="submit" name="submit">CALCULATE</button>
</form>
</body>
</html>
index. js
'use strict';
const awsServerlessExpress = require('aws-serverless-express')
const app = require('./app')
const server = awsServerlessExpress.createServer(app)
exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context);