我从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>
此表单有两个字段&#34; MerchantID&#34;和&#34;勇气&#34;。我希望当我使用POST提交时,这些字段中的值将转到名为&#34; inndetails.js&#34;的一个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,在我的 routes 文件夹中我有 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>
答案 0 :(得分:0)
我认为您需要将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
`