!更新了新的问题! 节点JS阅读表单input与快递
新问题!
我得到的网页显示,并能够检索和显示用户input。
但是,我的代码只允许一个用户input,其余的将是未定义的,如果我在HTML中添加另一个input字段。
这里是更新后的代码,它只显示姓氏。
/*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;
我可以尝试检索两个用户input? 谢谢!
================================================== =======================
我有下面的代码,应该打开一个用户input字段的网页,并使用快递来获取和后显示用户的input。
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);
但是,我得到了以下错误,我无法弄清楚如何得到它的工作。 有人可以给我一个提示吗? 谢谢!
星期四,2016年05月02日15:10:23 GMT body-parser deprecated bodyParser:在server.js中使用单独的json / urlencoded中间件:20:9星期四,2016年6月02日15:10:23 GMT body-parser deprecated undefined extended:provide扩展选项在…. \ node_modules \ body-parser \ index.js:105:29
bodyParser()
构造函数已被弃用(详情在这里 ),你现在需要使用这些:
app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true;});
当extended
设置为true时,它将使用qs
库进行parsing,当设置为false时,它将使用querystring
。 研究两者之间的差异来决定你想使用哪一个,我总是使用qs
没有任何问题。
改变:
app.use(bodyParser());
与:
app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false}));