2013-07-17 10 views
8

Voglio reindirizzare utente da una pagina ad un'altra pagina in Node.js (node.js plain)reindirizzamento alla pagina diversa url nella Node.js (Non in quadri espressa o altri)

scenario di vita reale: afer registrazione (esempio.com/sigup), dopo la registrazione corretta desidero reindirizzare gli utenti alla pagina di accesso (esempio.com/login).

if (signUpSuccessful(request, response)) {  
    // I want to redirect to "/login" using request/response parameters. 
} 
+2

duplicati di http://stackoverflow.com/questions/ 4062260/nodejs-redirect-url? –

risposta

11

E 'semplice:

if (signUpSuccessful(request, response)) { 
    response.statusCode = 302; 
    response.setHeader("Location", "/login"); 
    response.end(); 
} 

Questo sarà reindirizzare l'utente all'URL /login con uno status 302 Found e finire la risposta. Assicurati di non aver chiamato prima lo response.write(), altrimenti verrà generata un'eccezione.

4

Il modo più semplice per farlo è utilizzare un 302 status code e un campo posizione con l'URL di destinazione.

Il codice di stato della risposta HTTP 302 Trovato è un metodo comune per eseguire il reindirizzamento .

Una risposta HTTP con questo codice di stato fornisce inoltre un URL nel campo dell'intestazione della posizione. L'utente Agente (ad esempio un browser Web) è invitato da una risposta con questo codice a effettuare una seconda richiesta, altrimenti identica, al nuovo URL specificato nel campo Posizione. La specifica HTTP/1.0 (RFC 1945) definisce questo codice e fornisce la frase di descrizione "Spostata temporaneamente".

Fonte: Wikipedia

res.statusCode = 302; 
res.setHeader("Location", '/login'); 
res.end(); 
0

Un modo più semplice:

res.redirect(307, '/login'); 

trovare maggiori dettagli nella risposta di this post

Problemi correlati