8

我想将用户从一个页面重定向到 Node.js 中的另一个页面(纯 node.js)

现实生活场景:注册后(example.com/sigup),注册成功后我想将用户重定向到登录页面(example.com/login)。

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

3 回答 3

11

这很简单:

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

这会将您的用户重定向到/login带有302 Found状态的 URL 并完成响应。确保你之前没有调用response.write()过,否则会抛出异常。

于 2013-07-17T16:19:01.947 回答
4

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

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

带有此状态代码的 HTTP 响应将在 Location 标头字段中另外提供一个 URL。带有此代码的响应邀请用户代理(例如网络浏览器)向位置字段中指定的新 URL 发出第二个(否则相同的)请求。HTTP/1.0 规范 (RFC 1945) 定义了此代码,并为其提供了描述短语“临时移动”。

资料来源:维基百科

res.statusCode = 302;
res.setHeader("Location", '/login');
res.end();
于 2013-07-17T16:20:08.750 回答
0

更简单的方法:

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

在此帖子的答案中查找更多详细信息

于 2016-11-10T05:24:26.280 回答