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.