8

I want to redirect user from one page to another page in Node.js (plain node.js)

Real life scenario: Afer signup (example.com/sigup), after successful signup I want to redirect users to login page(example.com/login).

if (signUpSuccessful(request, response)) {    
    // I want to redirect to "/login" using request / response parameters.
}
royhowie
  • 11,075
  • 14
  • 50
  • 67
Manish Kumar
  • 15,269
  • 5
  • 18
  • 27
  • 2
    Duplicate of http://stackoverflow.com/questions/4062260/nodejs-redirect-url ? – PP. Jul 17 '13 at 16:17

3 Answers3

11

It's simple:

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

This will redirect your user to the /login URL with an 302 Found status and finish the response. Be sure that you haven't called response.write() before, otherwise an exception will be thrown.

gustavohenke
  • 40,997
  • 14
  • 121
  • 129
4

Simplest way to do it is by using a 302 status code and a location field with the target URL.

The HTTP response status code 302 Found is a common way of performing a redirection.

An HTTP response with this status code will additionally provide a URL in the Location header field. The User Agent (e.g. a web browser) is invited by a response with this code to make a second, otherwise identical, request, to the new URL specified in the Location field. The HTTP/1.0 specification (RFC 1945) defines this code, and gives it the description phrase "Moved Temporarily".

Source: Wikipedia

res.statusCode = 302;
res.setHeader("Location", '/login');
res.end();
Split Your Infinity
  • 4,159
  • 1
  • 21
  • 19
0

A simpler way :

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

Find more details in the answer of this post

Community
  • 1
  • 1
Monero Jeanniton
  • 441
  • 8
  • 20