753 votes

Comment extraire les données POST à node.js ?

Comment extraire des données de formulaire ( ) et chargements envoyés par le HTTP du fichier méthode en node.js ? J’ai pas lu les docs googlé et ne trouva rien.

Y a-t-il une bibliothèque ou un hack ?

764voto

Casey Chu Points 8804
var qs = require('querystring');

function (request, response) {
    if (request.method == 'POST') {
        var body = '';
        request.on('data', function (data) {
            body += data;

            // Too much POST data, kill the connection!
            if (body.length > 1e6)
                req.connection.destroy();
        });
        request.on('end', function () {
            var post = qs.parse(body);

            // use post['blah'], etc.
        });
    }
}

662voto

Baggz Points 6836

Si vous utilisez Express (haute performance, Haute de classe de développement web pour Node.js), vous pouvez faire ceci:

HTML:

<form method="post" action="/">
    <input type="text" name="user[name]">
    <input type="text" name="user[email]">
    <input type="submit" value="Submit">
</form>

Javascript:

app.use(express.bodyParser());

app.post('/', function(request, response){

    console.log(request.body.user.name);
    console.log(request.body.user.email);

});

Voir aussi

163voto

thejh Points 20901

Veillez à tuer la connexion si quelqu'un essaie d’inonder votre RAM !

108voto

Mahn Points 5565

Voici un wrapper non-cadre très simple, basée sur les autres réponses et les articles publiés ici :

Exemple d’utilisation :

97voto

Orion Points 1020

Il sera plus propre si vous encodez vos données en JSON, puis envoyez à nœud.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X