[英]Get undefined in req.body.id (body-parser and express 4) Nodejs
app.js: app.js:
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var person = require('./routes/person');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/person', person);
module.exports = app;
routes/person.js: 路线/ person.js:
var express = require('express');
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
var router = express.Router();
/* GET page. */
router.get('/', function (req, res) {
res.render('person', {
message: 'Person works'
});
});
router.post('/', urlencodedParser, function (req, res) {
res.send('Thank you!');
console.log(req.body.firstname);
console.log(req.body.lastname);
});
views/person.pug: 意见/ person.pug:
extends layout
block content
h1 Welcome #{id}
p= message
br
h2= qstr
br
form(method='post', action='/person')
label First name
input#firstname(type='text')
br
label Last name
input#lastname(type='text')
input(type='submit', value='Submit')
Questions: 问题:
1) Is it necessary in every route to add?: 1)是否有必要在每个路线中添加?:
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
2) Why do I get this: 2)为什么我得到这个:
1.You don't need to use body-parser in every route. 1.你不需要在每条路线都使用身体解析器。 Body-parser is a middleware which is used to obtain data from application/x-www-urlencoded content type.
Body-parser是一个中间件,用于从application / x-www-urlencoded内容类型中获取数据。 So if you're sure sure that data you will get in your body is not x-www-urlencoded type, you don't need to use it.
因此,如果您确定您体内获得的数据不是x-www-urlencoded类型,则无需使用它。
2.Please check if you are passing the data in post request. 2.请检查您是否在邮寄请求中传递数据。 You can use chrome extension postman to form any kind of query.
您可以使用chrome extension postman来形成任何类型的查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.