Node.js Express express.json und express.urlencoded with form submit

Die bodyParser-Middleware von Express (oder Connect) ist als veraltet markiert. Es wird empfohlen, stattdessen Folgendes zu verwenden:

app.use(connect.urlencoded())
app.use(connect.json())  

Allerdings wenn ich das ein Beispiel ausführeNode.js in AktionIch benutze curl, um das Formular auszufüllen, wie im Buch vorgeschlagen:

curl -F entry[title]='Ho ho ho' -F entry[body]='santa loves you' http://abc:[email protected]:3000/api/entry

Es funktioniert nichtreq.body ist nicht definiert. Vermisse ich etwas? Es funktioniert gut mit bodyParser.

EDIT: LÖSUNG ab Express 4

Analysieren Sie JSON folgendermaßen:

var bodyParser = require('body-parser');

...

app.use(bodyParser.json());

Analysieren Sie den urlencodierten Körper folgendermaßen:

app.use(bodyParser.urlencoded({extended: true}));

Dann gibt es keine Verwerfungswarnung. Das extended: true (Standard) verwendet das Modul qs und false das Modul querystring, um den Body zu analysieren.

Nicht verwendenapp.use(bodyParser())ist diese Verwendung nun veraltet.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage