Sie sind den Umgang mit drei verschiedenen Methoden der Parameterübergabe:
1) Pfad-Parameter, die Router erfasst ausdrücklichen in , wenn Sie Doppelpunkt-Präfix-Komponenten oder Regex-Captures in Ihrer Route verwenden. Diese können sowohl in GET- als auch in POST-Anfragen vorhanden sein.
2) URL-Abfragezeichenfolgenparameter, die in req.query
erfasst werden, wenn Sie die express.query
Middleware verwenden. Diese können auch in GET- und POST-Anfragen vorhanden sein.
3) Körperparameter, die in req.body
erfasst werden, wenn Sie die express.bodyParser
Middleware verwenden. Diese sind nur in POST-Anfragen vorhanden, die eine Content-Type
von "x-www-form-urlencoded" haben.
Sie müssen also alle drei Objekte (falls vorhanden) in eins zusammenführen. Es gibt keine systemeigenen Methoden Object
, um dies zu tun, aber es gibt viele beliebte Problemumgehungen. Zum Beispiel definiert die underscore.js Bibliothek eine extend
-Funktion, die Sie
req.params=_.extend(req.params || {}, req.query || {}, req.body || {}).
schreiben würde erlauben Wenn Sie eine Bibliothek nicht verwenden wollen und möchten Ihre eigene Art und Weise zu erweitern Objekte rollen, werfen Sie einen Blick auf this blog post .
'JSON.stringify (req.query)' für 'get' und' JSON.stringify (req.body) 'für' Post' vorausgesetzt, Sie 'app.use (auszudrücken. bodyParser()) ' –