Maison >interface Web >js tutoriel >Comment accéder aux champs du formulaire POST dans Express.js ?

Comment accéder aux champs du formulaire POST dans Express.js ?

DDD
DDDoriginal
2024-12-10 05:17:09256parcourir

How Do I Access POST Form Fields in Express.js?

Accès aux champs du formulaire POST dans Express : un guide

Lorsque vous travaillez avec des formulaires, accéder aux champs du formulaire POST dans Express peut être un processus simple. Cependant, des changements subtils dans les versions Express ont introduit quelques variations dans l'approche.

Express 4.16.0 et versions ultérieures

À partir d'Express 4.16.0, l'accès aux champs du formulaire POST a été simplifié avec l'introduction de express.json() et express.urlencoded. Ces fonctions middleware analysent respectivement les corps codés JSON et URL.

Pour utiliser cette approche, installez express :

$ npm install express

et incluez le middleware suivant dans votre application Express :

app.use(express.json());       // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies

Une fois ces middleware en place, vous pouvez accéder aux champs du formulaire POST en utilisant le req.body object :

// assuming POST: name=foo&amp;color=red            <-- URL encoding
//
// or       POST: {&quot;name&quot;:&quot;foo&quot;,&quot;color&quot;:&quot;red&quot;}  <-- JSON encoding

app.post('/test-page', function(req, res) {
    var name = req.body.name,
        color = req.body.color;
    // ...
});

Express 4.0 à 4.15

Avant Express 4.16.0, la gestion des champs de formulaire POST impliquait l'installation du package body-parser et l'utilisation de son middleware.

$ npm install --save body-parser

Dans votre candidature Express, incluez les lignes suivantes :

var bodyParser = require('body-parser')
app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
})); 

Avec ceci configuration, l'accès aux champs du formulaire POST est similaire à l'approche dans Express 4.16.0 :

app.post('/test-page', function(req, res) {
    var name = req.body.name,
        color = req.body.color;
    // ...
});

Remarque : L'utilisation de express.bodyParser() n'est pas recommandée et équivaut à l'utilisation combinée de express.json (), express.urlencoded() et express.multipart(). Évitez express.bodyParser() sauf si vous avez spécifiquement besoin d'une prise en charge du codage en plusieurs parties, ce qui pose des problèmes de sécurité. Pour le codage en plusieurs parties, reportez-vous à la documentation Express.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn