Heim > Web-Frontend > js-Tutorial > Wie greife ich auf POST-Formularfelder in Express.js zu?

Wie greife ich auf POST-Formularfelder in Express.js zu?

DDD
Freigeben: 2024-12-10 05:17:09
Original
204 Leute haben es durchsucht

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

Zugriff auf POST-Formularfelder in Express: Eine Anleitung

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.

Express 4.16.0 und höher

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Sobald diese Middleware vorhanden ist, können Sie über den req.body auf POST-Formularfelder zugreifen Objekt:

// 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;
    // ...
});
Nach dem Login kopieren

Express 4.0 bis 4.15

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
Nach dem Login kopieren

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
})); 
Nach dem Login kopieren

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;
    // ...
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage