Knoten löst TypeError aus: Eigenschaft 'indexOf' von undefined kann nicht gelesen werden

8

Nicht sicher, aber denke, ich habe etwas, das funktionieren sollte, aber es tut es nicht, und der Fehler, den ich bekomme, ist ziemlich wenig hilfreich.

Also, versuch das Pass-Objekt zu einer der Routen zu senden, die ich verstehe, sollte nur

sein %Vor%

Was beim Start einen Fehler verursacht

%Vor%

Wenn ich App und Reisepass entferne, verschwindet das Problem magisch. Der Router in ./routes/users verwendet noch keine davon.

Ich habe einen Teil des Codes hinzugefügt (etwas Passkonfiguration für gutes Formular entfernt)

%Vor%

BEARBEITEN: Routen / users.js hinzugefügt

%Vor%

Im obigen Code habe ich die ursprüngliche router.get('/', function(req, res, next) mit router.get('/', function(app, passport, req, res, next) geändert, die das Problem behebt.

    
vrghost 26.03.2015, 05:40
quelle

3 Antworten

2

Nur für den Fall, dass Sie HTTP-Verb-Routen app.get ('/' ...) nach app.use (..) verwenden, erhalten Sie diesen Fehler in Express4x.

hier

    
Senthil 06.02.2016 18:38
quelle
1

Ich bin mir nicht sicher, warum ich das verstehe, aber der Trick bestand darin, das ursprüngliche router.get('/', function(req, res, next) mit router.get('/', function(app, passport, req, res, next) zu ändern, wodurch das Problem gelöst wird. Nicht sicher, warum express eine Funktion benötigt, die das übergebene Objekt nicht verwendet, um Pass und App zu haben, aber es scheint so.

%Vor%     
vrghost 26.03.2015 16:24
quelle
0
%Vor%

Ich habe dies implementiert, ich werde auf der Konsole ausgegeben. Was passiert in Ihrem Code ist, dass req ist undefined.So Knoten wirft diesen Fehler ... Wie Sie in meinem Code sehen können wir nur req verwenden .url.indexOf Methode nur wenn wir im Bereich von req sind (dh Sie müssen die Suche innerhalb von Funktionsrückrufen deklarieren, die req, res .....)

behandeln     
Harpreet Singh 26.03.2015 06:41
quelle

Tags und Links