Bei der Arbeit mit Formularen kann der Zugriff auf POST-Formularfelder in Express ein unkomplizierter Vorgang sein. Allerdings haben subtile Änderungen in den Express-Versionen zu einigen Variationen im Ansatz geführt.
Ab Express 4.16.0 wurde der Zugriff auf POST-Formularfelder mit der Einführung vereinfacht von express.json() und express.urlencoded. Diese Middleware-Funktionen analysieren JSON- bzw. URL-codierte Körper.
Um diesen Ansatz zu verwenden, installieren Sie Express:
$ npm install express
und fügen Sie die folgende Middleware in Ihre Express-Anwendung ein:
app.use(express.json()); // to support JSON-encoded bodies app.use(express.urlencoded()); // to support URL-encoded bodies
Sobald diese Middleware vorhanden ist, können Sie über den req.body auf POST-Formularfelder zugreifen Objekt:
// 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; // ... });
Vor Express 4.16.0 erforderte die Verarbeitung von POST-Formularfeldern die Installation des Body-Parser-Pakets und die Verwendung seiner Middleware.
$ npm install --save body-parser
Fügen Sie in Ihre Express-Anwendung die folgenden Zeilen ein:
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 }));
Mit dieser Konfiguration Der Zugriff auf POST-Formularfelder ähnelt dem Ansatz in Express 4.16.0:
app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
Hinweis: Die Verwendung von express.bodyParser() wird nicht empfohlen und entspricht der kombinierten Verwendung von express.json() , express.urlencoded() und express.multipart(). Vermeiden Sie express.bodyParser(), es sei denn, Sie benötigen ausdrücklich Unterstützung für mehrteilige Codierung, was Sicherheitsbedenken mit sich bringt. Informationen zur mehrteiligen Kodierung finden Sie in der Express-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie greife ich auf POST-Formularfelder in Express.js zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!