Übergeben von Variablen an die nächste Middleware mit next () in expressjs
Gut, meine Frage ist, ich möchte einige Variablen aus der ersten middleware zu anderen middleware-und ich habe versucht zu tun, aber es war erf.somevariable ist gegeben als 'nicht definiert'.
//app.js
..
app.get('/someurl/',middleware1,middleware2)
...
////middleware1
...
some conditions
...
res.somevariable = variable1;
next();
...
////middleware2
...
some conditions
...
variable = req.somevariable;
...
Vielen Dank für die Beantwortung.
InformationsquelleAutor der Frage user2791897 | 2013-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Befestigen Sie die variable mit der
req
Objekt, nichtres
.Statt
Haben:
Edit:
Wie andere haben darauf hingewiesen,
res.locals
ist die empfohlene Art und Weise der Weitergabe der Daten durch middlewares.InformationsquelleAutor der Antwort Amberlamps
Dies ist, was die res.die einheimischen Objekt ist für. Festlegen von Variablen, die direkt auf das request-Objekt wird nicht unterstützt oder dokumentiert. res.die einheimischen ist garantiert, um den Zustand mit der Lebensdauer einer Anfrage.
res.die einheimischen
Abrufen der Variablen in die nächste middleware:
InformationsquelleAutor der Antwort cchamberlain
Denke ich nicht, dass die beste Praxis werden an Variablen wie
req.YOUR_VAR
möchten Sie vielleicht zu prüfenreq.YOUR_APP_NAME.YOUR_VAR
oderreq.mw_params.YOUR_VAR
es wird Ihnen helfen zu vermeiden, überschreiben andere Attribute
InformationsquelleAutor der Antwort Doron Segal
Weil
req
undres
sind zwei verschiedene Objekte.Müssen Sie sich für das Grundstück, auf dem gleichen Objekt, das Sie Hinzugefügt.
InformationsquelleAutor der Antwort SLaks