位置: 编程技术 - 正文

Express URL跳转(重定向)的实现方法(express app.js)

编辑:rootadmin

推荐整理分享Express URL跳转(重定向)的实现方法(express app.js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:url跳转方式,js post跳转页面,express app.js,express app.js,express网页,express页面跳转,express页面跳转,express.urlencoded,内容如对您有帮助,希望把文章链接给更多的朋友!

Express是一个基于Node.js实现的Web框架,其响应HTTP请求的response对象中有两个用于URL跳转方法res.location()和res.redirect(),使用它们可以实现URL的或重定向。

res.location(path)

下面列举了几种,设置http响应头Location的方法

路径值back具有特殊的意义,这个涉及到请求头Referer中指定的URL,如果Referer头没有指定,将会设置为'/'。

Express通过Location头将指定的URL字符串传递给浏览器,它并不会对指定的字符串进行验证(除'back'外)。而浏览器则负责将当前URL重定义到响应头Location中指定的URL。

res.redirect([status,] path)

其中参数:

status:{Number},表示要设置的HTTP状态码 path:{String},要设置到Location头中的URL

使用指定的http状态码,重定向到指定的URL,如果不指定http状态码,使用默认的状态码”“:”Found“,

重定向可以是一个完整的URL,这样会重定向到一个不同的站点上。

Express URL跳转(重定向)的实现方法(express app.js)

重定向也可以相对于所在主机的根目录,例如,如果你的程序运行在: post/new,如果没有反斜杠的话将会重定向到: location()与redirect()的比较

Express的response对象,是对Node.js原生对象ServerResponse的扩展。location()方法只会设置Location头,而redirect()方法除了会设置Location头外还可自动或手头设置HTTP状态码。理论上讲两者可以实现重定向。

location()方法实现过程大致如下:

从以上代码可以看出,location()方法本质上是调用了ServerResponse对象的setHeader()方法,但并没有设置状态码。通过location()设置头信息后,其后的代码还会执行。

使用location()方法实现URL的重定向,还要手动设置HTTP状态码:

如果需要立即返回响应信息,还要调用end()方法:

redirect()方法实现过程大致如下:

从以上代码可以看出,redirect()方法是对location()方法的扩展。通过location()设置Loction头后,设置HTTP状态码,最后通过ServerResponse对象的end()方法返回响应信息。调用redirect()方法后,其后的代码都不会被执行

重定向与不重定向

在使用的过程中,redirect()方法大多能重定向成功,而location()方法则不太确定,有时可以成功有时不能成功。这与我们的用法有关。

上面讲过,URL重定向是在浏览器端完成的,而URL重定向与HTTP状态码和Location头有关。浏览器首先会判断状态码,只有当状态码是:或时,才会根据Location头中的URL进行跳转。

所以,使用location()设置头信息,而不设置状态码或状态码不是或,并不会发生重定向:

而使用redirect()设置的状态码不是或也不会发生跳转:

标签: express app.js

本文链接地址:https://www.jiuchutong.com/biancheng/377924.html 转载请保留说明!

上一篇:使用 NodeJS+Express 开发服务端的简单介绍(使用时间)

下一篇:详解Node.js实现301、302重定向服务(nodejsorg)

  • 个人出租如何交税
  • 房地产企业所得税纳税义务发生时间
  • 进项税额转出借贷
  • 分公司以前年度能弥补亏损吗
  • 工程施工企业的账务处理
  • 怎么算应纳企业所得税
  • 建筑装饰行业会计分录
  • 汇算清缴后发生销售退回会计分录
  • 车辆保险费发票的会计分录
  • 承包费会计处理
  • 餐饮业是否可以开专用发票
  • 关于7.1号增值税普通发票新规
  • 小微企业免税销售额怎么算
  • 某大宾馆因工作需要
  • 案例分析:如何缓解幼儿在幼儿园的焦虑情绪
  • 税款已入库,申报错误更正可以吗
  • 转让土地使用权怎么交土地增值税
  • 预收房屋租金如何交房产税
  • 小规模补缴增值税怎么算
  • 汇率变动引起的经济危机
  • wind10激活密钥
  • 与存货相关的车间固定资产日常
  • 用现金换承兑怎么做账
  • 盘盈的固定资产怎么做账务处理
  • Windows10屏幕键盘在哪
  • reg.dll是什么
  • 集团内部调拨账务处理
  • 认缴出资没到位违法吗
  • 最贵的苹果4
  • 非货币性资产对外捐赠企业所得税处理
  • 单位收到的投标通知书
  • php如何实现mysql数据的删除
  • php面向对象是什么意思
  • vue.3
  • RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘
  • 研发部门的房租物业费进什么科目
  • 小规模纳税人开农产品免税发票
  • 购买理财资金来源规定
  • mongodb优点
  • 融资租赁确认的具体条件
  • 营业执照是如何年审的
  • 零申报一般怎么收费
  • MySQL数据库远程登录
  • 企业内部交易如何操作
  • 金税四期监控银行卡
  • 销售退回采购方的会计分录
  • 应付账款的主要舞弊形式
  • 现金支付无发票怎么报销
  • 股东分红会计分录
  • 商贸公司批发零食怎么样
  • 总公司与分公司关系证明模板
  • 以前年度损益调整是什么意思
  • 事业单位外出参观培训心得
  • 银行代发工资当天改工资卡来得及吗
  • 收到定期存款怎么做分录
  • 企业员工福利费可以做什么
  • 从事国家重点扶持的公共基础项目
  • 自然人独资公司税收政策
  • 个人社保代扣业务是什么意思
  • 要约收购期满
  • 建筑公司租赁费会计分录
  • 餐饮企业的内部营销
  • 股东增资有哪几种方法
  • sql server的go
  • sql自动增长是什么意思
  • windowsxp无法定位程序输入点
  • 如何知道文件的解压密码
  • macbookpro客人用户
  • thinkpade431升级内存多大好
  • win7系统无wifi连接
  • JavaScript html5 canvas绘制时钟效果(二)
  • javascript的代码写在哪里
  • android圆形按钮
  • javascript要学哪些
  • jquery中each()方法的作用及使用
  • 个体工商户定期定额核定
  • 小规模出售不动产怎么交税
  • 纳税人不办税务许可证
  • 初级会计职称可以挂靠吗
  • 西安市灵活就业社保缴费截止时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设