无法使用node.js v0.12.7,express 4,body-parser,bootstrap 3检索POST数据

在以前的应用程序中,我已经做了几十次,但由于某种原因,无法再工作了。 不知道这是否是版本问题。 我已经看过了我可以在网上find的每一个例子,而且没有一个可以工作。 不知道我在做什么错。 相关代码:

index.html (从引导站点复制 – 我只添加angular色,操作和方法attrs到表单标记)

<html> <head> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css"> <!-- jQuery --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> </head> <body> <form role="form" action="/form" method="post"> <div class="form-group"> <label for="exampleInputEmail1">Email address</label> <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email"> </div> <div class="form-group"> <label for="exampleInputPassword1">Password</label> <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password"> </div> <button type="submit" class="btn btn-default">Submit</button> </form> </body> </html> 

server.js

 var express = require("express"); var app = express(); var bp = require("body-parser"); var path = require("path"); app.use(bp.urlencoded({extended: false})); app.use(bp.json()); app.get("/", function(req, res) { res.sendFile(path.join(__dirname+'/index.html')); }); app.post("/form", function(req, res) { console.log(req.body); res.end(); }); var server = app.listen(4000, function () { var host = server.address().address; var port = server.address().port; console.log('Example app listening at http://%s:%s', host, port); }); 

的package.json

 { "name": "test-app", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.13.3", "express": "^4.13.3", "sqlite3": "^3.0.10" } } 

当表单路由被调用时, req.body总是{} 。 但是这个设置在过去每次都是为我工作的。

您的表单input元素缺lessname属性,因此不包含在POST请求中。 看到这个答案 。