如何获取从Express(Node.js)中的表单传递的数据
我想要获取使用表单从页面传递的数据,并在redirect的页面中使用该数据。
我在客户端有这个表格。
<form action="game" method="get"> <input type="text" name="name"/> <input type="submit" /> </form>
我的服务器上有这个脚本。
app.get('/game',function(req,res){ res.sendfile(__dirname + '/game.html'); });
PLS的帮助。
为了让express能够很好的处理表单数据,你需要确保你包含 bodyParser
如下所示:
var express = require('express'), app = express.createServer(); app.use(express.bodyParser()); //the rest of your configuration
然后在您的POST处理程序中,您可以通过Request.body
属性访问表单主体,如下所示:
app.post('/game', function (req, res) { res.render('some-file', { name: req.body.name }); });
另外,如果您打算在响应中输出表单数据,则需要使用模板引擎(如Jade )。
不赞成, 下面的答案是正确的解决scheme
使用bodyParser.urlencoded(
)中间件:
const bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: true }));
然后表单的值将在req.body:
app.post('/game', function (req, res) { res.render('the_template', { name: req.body.name }); });
如果你需要访问你的视图中的variables名,你应该使用res.render函数,像这样传入variables
res.render('game', { name: req.body.name }
然后在玉做
div!= name