2016-05-13 10 views
0

Verwenden Sitzung als Interceptor, der Code wie dieser istNodeJS res.redirect, aber HTTP-Statuscode 304

app.use(function (req, res, next) { 
     var url = req.originalUrl; 
     var arr =[]; 
     arr = req.originalUrl.split('/'); 
     if (arr[1] != "login" && !req.session.user) { 
       return res.redirect(302, "/login"); 
     } 
     next(); 
    }); 

Dann habe ich HTTP-Statuscode als 304 erhalten, wird die Seite nicht aktualisiert enter image description here

Wie kann ich den Statuscode 302 erstellen und die Seite aktualisieren?

Antwort

0

Zurzeit setzen Sie 302 den Status url, in dem die Umleitung erfolgt, nicht auf der Anmeldeseite.

Mit diesem Code, zum Beispiel, wenn Sie die URL ‚/ home‘ treffen (wo Ihre Zulassungsbedingungen versagen), dann sind Sie den Statuscode Einstellung 302 von /home, nicht von /login.

Lösung

den Status login Route einstellen.

z.

app.get("/login", function(req, res){ 
    return res.status(302).send('Welcome to login page'); 
}); 

Ich hoffe, es hat Ihnen geholfen.

+0

der Statuscode ist jetzt 302, aber die Seite wird nicht aktualisiert – tomato

+0

Was meinst du mit Seite nicht aktualisieren? –