为什么node.js bodyParser总是返回'undefined'?

在'app.js'我有

var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); 

'index.js'完整的代码

 var express = require('express'); var router = express.Router(); var mysql = require('mysql'); router.get('/', function(req, res, next) { res.render('index', { title: 'Here' }); }); router.post('/manager', function(req, res, next) { var connection = mysql.createConnection({ host : 'localhost', user : req.body.username, password : req.body.password, database : 'shops' }); connection.connect(function(err){ if(!err) res.render('manager', { title: 'Here' }); else console.log("Error connecting database ..."); }); }); module.exports = router; 

在'index.html'login表单中

 <form id='login' method='post' action='manager'> Username<br> <input id='username' type='text'><br> Password<br> <input id='password' type='password'><br> <input type='submit' value='Login'> <input type='reset' value='Reset'> </form> 
  • 在index.js行12-13

    1. req.body.username

    2. req.body.password

每次我尝试从html表单parsing数据时,它们都会返回“undefined”。 我是新的node.js脚本。 难道我做错了什么?

       

网上收集的解决方案 "为什么node.js bodyParser总是返回'undefined'?"

您在<input>标记中缺lessname属性。 添加他们就像:

 <form id='login' method='post' action='manager'> Username<br> <input id='username' name='username' type='text'><br> Password<br> <input id='password' name='password' type='password'><br> <input type='submit' value='Login'> <input type='reset' value='Reset'> </form>