Node.js Express:POST请求后,Req.body未定义

Node.js Express:POST请求后,Req.body未定义,node.js,express,Node.js,Express,我在app.router之前使用了express.bodyParser(),标题似乎是正确的,但我仍然在req.body上没有定义: var app = express(); ... app.use(express.bodyParser()); ... app.use(app.router); req.headers的输出如下: { host: '127.0.0.1:3000', connection: 'keep-alive', 'content-length': '0', '

我在app.router之前使用了express.bodyParser(),标题似乎是正确的,但我仍然在req.body上没有定义:

var app = express();
...

app.use(express.bodyParser());
...
app.use(app.router);
req.headers的输出如下:

{ host: '127.0.0.1:3000',
  connection: 'keep-alive',
  'content-length': '0',
  'cache-control': 'max-age=0',
  accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  origin: 'http://127.0.0.1:3000',
  'user-agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36',
  'content-type': 'application/x-www-form-urlencoded',
  referer: 'http://127.0.0.1:3000/register',
  'accept-encoding': 'gzip,deflate,sdch',
  'accept-language': 'es-ES,es;q=0.8' }
该职位的声明如下:

app.post('/register/do', function(req, res) {
    ...
    console.log(req.headers);
    console.log(req.body);
    ...
});

我做错了什么?

您得到了
内容长度:0
,因此问题出在客户端。您的快速代码看起来不错。

我对此有很多问题。。这帮助我解决了这个问题

var bodyParser = require('body-parser');
var-app=express()


真不敢相信我竟然没注意到。我把JS搞砸了,表单没有正确提交数据。谢谢不用担心,这发生在我们当中最好的人身上:)我给你加1是因为我注意到我没有使用app.use(express.bodyParser());在我的节点应用程序中。完全解决了我的问题!!非常感谢。
// parse application/x-www-form-urlencoded
**app.use(bodyParser.json());**
app.use(bodyParser.urlencoded({ extended: false }));