获取req.param未定义
我正在使用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/new
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.params
引用pathpath中的variables。
app.get("/posts/:id", ... // => req.params.id
发布数据可以通过req.body
引用
app.post("/posts", ... // => req.body.email
这假定你正在使用bodyParser
中间件。
然后有req.query
,对于那些?query=strings
。
你可以使用req.param()
作为上面的3中的任何一个。 查找顺序是params
, body
, query
。
param是一个函数,而不是一个对象。 所以你需要使用req.param('email');
- Node.js使用表单提交express.json和express.urlencoded
- 如何在Expressjs中进行Web服务调用?
- Node.Js – 玉forms不POST或做任何事情?
- Express中res.render()和res.redirect()的正确用法是什么?
- 用knex.js查询多个表
- 如何使用Node JS的事件?
- 基于Express和Mongoose的REST API – 在将对象返回给用户之前,过滤掉对象的某些属性
- expressjs req.body.username未定义
- forbiddenError / 403 Ajax Express Csurf – 如何正确使用Csurf?