Я использую экспресс и не могу получить данные формы из bodyParser. Независимо от того, что я делаю, это всегда выглядит как пустой объект. Вот мой экспресс-сгенерированный код app.js (единственное, что я добавил, это маршрут app.post внизу):
var express = require('express');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', function(req, res){
res.sendfile('./public/index.html');
});
app.post('/', function(req, res){
console.log(req.body);
res.sendfile('./public/index.html');
});
app.listen(3010);
Вот моя HTML-форма:
<!doctype html>
<html>
<body>
<form id="myform" action="/" method="post" enctype="application/x-www-form-urlencoded">
<input type="text" id="mytext" />
<input type="submit" id="mysubmit" />
</form>
</body>
</html>
Когда я отправляю форму, req.body является пустым объектом {}
Стоит отметить, что это происходит, даже если я удаляю атрибут enctype из тега формы
... Что-то я упускаю / делаю неправильно?
Я использую узел v0.4.11 и экспресс v2.4.6