Uso express y tengo problemas para obtener datos de formulario de bodyParser. No importa lo que haga, siempre aparece como un objeto vacío. Aquí está mi expreso genera app.js código (el único que he añadido era la ruta app.post en la parte inferior):Node.js/Express form post req.body no funciona
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);
aquí es mi formulario 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>
Cuando envío el forma, req.body es un objeto vacío {}
vale la pena señalar que esto ocurre incluso si se quita el atributo de la etiqueta enctype forma
... ¿hay algo que me falta/haciendo mal?
estoy usando v0.4.11 nodo y v2.4.6 expresa
¡Gracias! No estoy seguro de cómo pasé por alto eso ... – binarymax