在Node.js中redirect到不同的页面url(不在express或其他框架中)

我想将用户从一个页面redirect到Node.js中的另一个页面(普通的node.js)

真实生活场景:成功注册后(example.com/sigup),我想将用户redirect到login页面(example.com/login)。

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

这很简单:

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

这会将您的用户redirect到302 Found状态的/login URL并完成响应。 确保你以前没有调用过response.write() ,否则会抛出exception。

最简单的方法是使用302状态码和位置字段与目标URL。

HTTP响应状态码302 Found是执行redirect的常用方法。

具有此状态代码的HTTP响应将在“位置”标题字段中额外提供一个URL。 用户代理(例如networking浏览器)通过该代码的响应被邀请对位置字段中指定的新URL进行第二次(否则相同的)请求。 HTTP / 1.0规范(RFC 1945)定义了这个代码,并给出了描述短语“Moved Temporarily”。

来源:维基百科

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

一个更简单的方法:

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

在这篇文章的答案中find更多的细节