Reputation: 15497
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
Reputation: 499
A simpler way :
res.redirect(307, '/login');
Find more details in the answer of this post
Upvotes: 0
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
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