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.
À 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&color=red <-- URL encoding // // or POST: {"name":"foo","color":"red"} <-- JSON encoding app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
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!