Manish Kumar
Manish Kumar

Reputation: 15497

Redirect to different page url in Node.js (Not in express or other frameworks)

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.
}

Upvotes: 8

Views: 17586

Answers (3)

Monero Jeanniton
Monero Jeanniton

Reputation: 499

A simpler way :

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

Find more details in the answer of this post

Upvotes: 0

Split Your Infinity
Split Your Infinity

Reputation: 4229

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();

Upvotes: 4

gustavohenke
gustavohenke

Reputation: 41440

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.

Upvotes: 11

Related Questions