Node.js !最新一期!节点JS使用express读取表单输入

Node.js !最新一期!节点JS使用express读取表单输入,node.js,Node.js,新问题 我获得了要显示的网页,并且能够检索和显示用户输入。 但是,我的代码只允许一个用户输入,如果我在HTML中添加另一个输入字段,其余的将不被定义。 这是更新后的代码,它将只显示姓氏 /*server.js*/ var express = require('express'); var bodyParser = require('body-parser'); var formHTML = require('./formHTML'); var app = express(); app.use(

新问题

我获得了要显示的网页,并且能够检索和显示用户输入。
但是,我的代码只允许一个用户输入,如果我在HTML中添加另一个输入字段,其余的将不被定义。
这是更新后的代码,它将只显示姓氏

/*server.js*/
var express = require('express');
var bodyParser = require('body-parser');
var formHTML = require('./formHTML');

var app = express();
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies

app.get('/', function(req, res){
  var html = formHTML.html1;

  res.send(html);
});

app.post('/', function(req, res){
  var firstName = req.body.firstName;
  var lastName = req.body.lastName;
  var html = formHTML.html2;

  html = html.replace('firstName', firstName);
  html = html.replace('lastName', lastName);
  res.send(html);
});

app.listen(8080);


/*formHTML.js*/
var html1 = '<form action="/" method="post">' +
  'Enter your first name:' +
  '<input type="text" name="firstrName" placeholder="..." />' +
  '<br>' +
  'Enter your last name:' +
  '<input type="text" name="lastName" placeholder="..." />' +
  '<br>' +
  '<button type="submit">Submit</button>' +
  '</form>';

var html2 = 'Hello: firstName lastName .<br>' + '<a href="/">Try again.</a>';

exports.html1 = html1;
exports.html2 = html2;
/*server.js*/
var express=需要(“express”);
var bodyParser=require('body-parser');
var formHTML=require('./formHTML');
var-app=express();
app.use(bodyParser.json());//支持json编码的实体
app.use(bodyParser.urlencoded({extended:true}));//支持编码体
app.get('/',函数(req,res){
var html=formHTML.html1;
res.send(html);
});
app.post(“/”,函数(请求,res){
var firstName=req.body.firstName;
var lastName=req.body.lastName;
var html=formHTML.html2;
html=html.replace('firstName',firstName);
html=html.replace('lastName',lastName);
res.send(html);
});
app.listen(8080);
/*formHTML.js*/
变量html1=''+
'输入您的名字:'+
'' +
“
”+ '输入您的姓氏:'+ '' + “
”+ “提交”+ ''; var html2='Hello:firstName lastName.
'+''; exports.html1=html1; exports.html2=html2;
我可以尝试检索两个用户输入吗?? 谢谢

=========================================================================

我有下面的代码,可以打开一个包含一个用户输入字段的网页,并使用express获取和显示用户的输入

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

app.use(bodyParser());

app.get('/', function(req, res){
  var html = '<form action="/" method="post">' +
    'Enter your name:' +
    '<input type="text" name="userName" placeholder="..." />' +
    '<br>' +
    '<button type="submit">Submit</button>' +
    '</form>';

  res.send(html);
});

app.post('/', function(req, res){
  var userName = req.body.userName;
  var html = 'Hello: ' + userName + '.<br>' +
    '<a href="/">Try again.</a>';
  res.send(html);
});

app.listen(80);
var express=require('express');
var bodyParser=require('body-parser');
var-app=express();
app.use(bodyParser());
app.get('/',函数(req,res){
var html=''+
'输入您的姓名:'+
'' +
“
”+ “提交”+ ''; res.send(html); }); app.post(“/”,函数(请求,res){ var userName=req.body.userName; var html='Hello:'+userName+'。
'+ ''; res.send(html); }); app.listen(80);
然而,我得到了以下错误,我无法找出如何使它工作。有人能给我一个提示吗?谢谢

Thu,2016年6月2日15:10:23 GMT body parser不推荐bodyParser:使用 服务器上的单个json/urlencoded中间件。js:20:9 Thu,02 Jun 2016 15:10:23 GMT正文解析器已弃用未定义扩展:提供 扩展选项位于..\node\u modules\body parser\index.js:105:29

更改:

app.use(bodyParser());
与:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
更改:

app.use(bodyParser());
与:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
bodyParser()
构造函数已被弃用(详细信息),您现在需要使用这些构造函数:

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: true;});
extended
设置为true时,它将使用
qs
库进行解析,当设置为false时,它将使用
querystring
。研究两者之间的差异以决定您要使用哪一个,我一直使用
qs
,没有任何问题。

已弃用
bodyParser()
构造函数(详细信息),您现在需要使用这些:

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: true;});

extended
设置为true时,它将使用
qs
库进行解析,当设置为false时,它将使用
querystring
。研究两者之间的差异,以决定您要使用哪一个,我一直使用
qs
,没有任何问题。

在更改上述代码后,我在bodyParser上遇到另一个错误,“参数数无效,预期为2…”哦,NVM,我想这个错误不会影响功能。该程序仍然可以处理该错误。在更改上述代码后,我在bodyParser上遇到另一个错误,“参数数无效,预期为2…”噢,NVM,我想该错误不会影响功能。程序仍然可以处理错误。