为什么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
-
req.body.username
-
req.body.password
-
每次我尝试从html表单parsing数据时,它们都会返回“undefined”。 我是新的node.js脚本。 难道我做错了什么?
您在<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>