我正在使用Expressjs版本4.我在req.param上得到了’undefined’。这是我的示例:app.js
var express = require('express'); var bodyParser = require('body-parser'); var newdata = require('./routes/new'); ........................ ...................... app.use(bodyParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use('/new', newdata);
./routes/新
var express = require('express'); var router = express.Router(); router.get('/', function(req, res){ res.render('newdata', { title: 'Add new data' }) }); router.post('/', function(req, res){ console.log(req.param['email']); res.end(); }); module.exports = router;
newdata.html
<form action="/new" role="form" method="POST"> <div class="form-group"> <label for="exampleInputEmail1">Email address</label> <input type="email" class="form-control" name="email" placeholder="Enter email">
我也尝试了req.body和req.params,但答案仍然相同。
req.body
req.params
req.params 引用路径中的变量。
app.get("/posts/:id", ... // => req.params.id
帖子数据可以通过以下方式引用 req.body
app.post("/posts", ... // => req.body.email
假设您正在使用bodyParser中间件。
bodyParser
然后是req.query那些?query=strings。
req.query
?query=strings
您可以使用req.param()上面的3种。外观上的顺序是params,body,query。
req.param()
params
body
query