Как использовать форму для отправки значений в файл JS и запуска NodeJS - PullRequest
0 голосов
/ 10 мая 2018

Я начинаю в NodeJS и на практике создаю проект, в котором у меня есть форма с некоторыми полями, форма создается внутри папки views как teste.ejs.

Teste.ejs

<div class="container">
<form id="form1" method="POST" action="/inndetails.js">
<div class="row">
  <div class="col-25">
    <label for="fname">MerchantID</label>
  </div>
  <div class="col-75">
    <input type="text" id="fname" name="merchantid" placeholder="MerchantID..">
  </div>
<div class="row"><div class="row">
  <div class="col-25">
    <label for="fname">Valor</label>
  </div>
  <div class="col-75">
    <input type="text" id="valor" name="valor" placeholder="Valor..">
  </div>
<div class="row">
  <input type="submit" value="Submit">
</div>

Эта форма имеет два поля: "MerchantID" и "Valor".Я хочу, чтобы при отправке с помощью POST значения из этих полей переходили в файл JS с именем "inndetails.js" и выполняли этот файл.

Inndetails.js

sdk.getIinDetails({
'psp_Version': '2.2',
'psp_MerchantId': '**From the form**',
'psp_IIN': '**From the form**',
'psp_PosDateTime': '2016-12-01 12:00:00'
},
function (error, response) {
if (error) {
    console.log(error)
} else {
    console.log(response);
}
});

Я уже использую Express и Body Parser. В моей папке маршруты есть файл index.js , содержащий:

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var router = express.Router();

router.post('/teste2', urlencodeParser, function(req, res) {
console.log(req.body);
res.render('teste2', ´{data: req.body});
});

Я могу получить значенияиз формы и показать на другой странице, например, в teste2.ejs , используя:

<p>MerchantID: <%= data.merchantid %></p>
<p>Valor: <% data.valor %></p>

1 Ответ

0 голосов
/ 11 мая 2018

Я думаю, вам нужно изменить файл index.js на

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var router = express.Router();

router.post('/teste2', bodyParser.urlencoded({limit: '50mb', extended: false }), function(req, res) {
console.log(req.body);
res.render('teste2', ´{data: req.body});
});

Параметры {limit: '50mb', extended: false } - это опция, остальные вы можете посмотреть здесь https://www.npmjs.com/package/body-parser `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...