如何在使用Node创建的服务器中从一个页面重定向到另一个页面

2、解决方法

  1. 设置状态码为302(临时重定向)
  2. 在响应头中通过Location告诉客户端往哪里重定向
  3. 如果客户端发现收到的服务器响应状态码是302,就会自动去响应头中找Location然后对该地址发送新请求
  4. 此时客户端会自动跳转

3、代码演示

//方法一:
response.statusCode = 302;
response.setHeader('Location','/');//重定向到首页
//一次请求对应一次相应,要加response.end();
response.end();
//方法二:
response.writeHead(302,{
  'Location':'/'
response.end();

另外,如果使用了express,重定向时可以使用response.redirect('/'),它会自动结束响应,不需要再调用response.end()了。

HTTP状态码详解

http://nodejs.cn/api/http.html#http_response_statuscode

延伸阅读
https://blog.csdn.net/weixin_43974265/category_10692693.html

Node.js框架 Total.js框架是用pure JavaScript编写的Node.js平台框架,类似于PHP的Laravel或Python的Django或ASP.NET MVC。 它可以用作Web,桌面,服务或IoT应用程序。 重要信息: $ npm install -g total.js 支持电子邮件: HMVC架构 清理目录结构 具有静态文件服务的完整Web服务器 支持IP限制 支持重定向 支持可重复使用的组件 支持即时JS,CSS(变量和嵌套)和HTML压缩器 支持即时合并静态文件(JavaScript,CSS或HTML) 支持文件的即时映射 支持媒体流(例如视频) 支持模块和包 通过ImageMagick或GraphicsMagick内置的图像处理引擎 支持WebSockets( RFC 6455 )和服务器发送的事件 新增功能支持WebSockets客户端 支持multipart/x-mixed-replace (IP摄像机流)上传和发送 支持RESTful路由 通过自定义选项支持中间件(例如express.js) 本篇教程介绍了Node.js如何实现重定向,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入。<一方式1index.jsvarhttp=require(‘http‘);varserver=http.createServer(function(req,res){res.writeHead(301,{‘Location‘:‘http://itbil... 在Web应用中,有时会遇到页面需要Url重定向的情况。Url重定向分为301、302两种。301、302都是HTTP状态的编码,都代表着某个Url发生了转移。不同的是301重定向是永久的重定向(Moved Permanently),表示本网页永久性转移到另一个地址,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。302重定向是临时的重定向(Moved Temporarily),表示本网页暂时性转移到另一个地址,搜索引擎会抓取新的内容而保留旧的网址。 可以用Nodejs的http模块,实现一个301或302重定服务,实现代码如下: 实现301重定向服务: var http = r app.get('/', function (req, res) { //res.redirect('hello'); //res.redirect('www.baidu.com'); res.redirect(302, 'http://www.baidu.com'); app... 1、基本介绍 URL 重定向,也称为 URL 转发,是一种当实际资源,如单个页面、表单或者整个 Web 应用被迁移到新的 URL 下的时候,保持(原有)链接可用的技术。HTTP 协议提供了一种特殊形式的响应—— HTTP 重定向HTTP redirects)来执行此类操作。 在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应而触发。HTTP 协议的重定向响应的状态码为... import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servle 重定向时,浏览器中所显示的URL会变成新页面的URL,浏览器会发送新的请求。 router.post('/user',(req,res)=>{ res.writeHead(301, { // 重定向的地址 Location: '/list' res.end() 在Express框架中使用重定向 在Express框架中我们不需要使用原... http.createServer(function(request, response) { response.writeHead(301, {Location: 'http://baidu.com'}); response.end() }).listen(3000); console.log('Serv...