Node.js / Formulaire Express post req.body ne fonctionne pas

J’utilise express et j’ai du mal à obtenir les données de formulaire auprès de bodyParser. Peu importe ce que je fais, il apparaît toujours comme un object vide. Voici mon code app.js généré expressément (la seule chose que j’ai ajoutée était la route app.post en bas):

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); 

Voici mon formulaire HTML:

    

Lorsque je soumets le formulaire, req.body est un object vide {}

Cela vaut la peine de noter que cela se produit même si je supprime l’atsortingbut enctype de la balise form

… Y a-t-il quelque chose qui me manque / qui ne va pas?

J’utilise le noeud v0.4.11 et express v2.4.6

 

Le corps d’une publication HTTP est un hachage clé / valeur de tous les contrôles de formulaire avec un atsortingbut name et la valeur est la valeur du contrôle.

Vous devez donner des noms à toutes vos entrées.

C’est aussi dû au type de contenu. veuillez voir l’object console.log (req).

 'content-type': 'application/json; charset=UTF-8' // valid. 'content-type': 'application/JSON; charset=UTF-8' // invalid & req.body would empty object {}. 

Pour vérifier le type de contenu via console.log (req.is (‘json’)) // renvoie true / false

Je pense que ‘charset = UTF-8’ est négligeable ci-dessus.