Перенаправить на другой URL-адрес страницы в Node.js (не в экспресс или других рамках)
Я хочу перенаправить пользователя с одной страницы на другую в Node.js (обычный node.js)
Реальный сценарий: после регистрации (example.com/sigup), после успешной регистрации я хочу перенаправить пользователей на страницу входа (example.com/login).
if (signUpSuccessful(request, response)) {
// I want to redirect to "/login" using request / response parameters.
}
3 ответа
Это просто:
if (signUpSuccessful(request, response)) {
response.statusCode = 302;
response.setHeader("Location", "/login");
response.end();
}
Это перенаправит вашего пользователя на /login
URL с 302 Found
статус и закончить ответ. Будьте уверены, что вы не звонили response.write()
раньше, в противном случае будет выдано исключение.
Самый простой способ сделать это - использовать код состояния 302 и поле местоположения с целевым URL.
Код состояния ответа HTTP 302 Найдено - это распространенный способ выполнения перенаправления.
HTTP-ответ с этим кодом состояния дополнительно предоставит URL в поле заголовка Location. Пользовательский агент (например, веб-браузер) приглашается в ответ с этим кодом сделать второй, идентичный в противном случае, запрос к новому URL-адресу, указанному в поле "Местоположение". Спецификация HTTP/1.0 (RFC 1945) определяет этот код и дает ему фразу описания "Временно перемещено".
Источник: Википедия
res.statusCode = 302;
res.setHeader("Location", '/login');
res.end();
Более простой способ:
res.redirect(307, '/login');
Найти более подробную информацию в ответе на этот пост