位置: 编程技术 - 正文

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)

  • 企业所得税汇算清缴退税怎么做账
  • 增值税出口退税计入什么科目
  • 关税计算怎么算?
  • 一般纳税人劳务票一般开几个点
  • 企业将要购买一套房产
  • 季度企业所得税申报表怎么填写
  • 注销股本对所有股票影响
  • 即将发生坏事的预兆
  • 企业的固定资产有何特征
  • 肉联厂销售模式
  • 开具有误拒收的增值税专用发票怎么办?
  • 主营业务收入包括哪些内容
  • 领导报销发票挂哪个科目
  • 车船使用税应该交哪里的税
  • 买商铺返租金之套路
  • 提前退休取得的一次性补贴收入
  • 营改增之后账务怎么处理
  • 机动车统一发票税率多少
  • 劳务分包简易计税可以抵扣吗
  • 工程部物品领用表格模板
  • 可持续增长率计算例题
  • 虚拟机中如何将文件移动到普通用户的家目录下
  • 股东分红的会计科目怎么做
  • php获取指定日期的时间戳
  • 电脑上一键复制是哪个键
  • rtp webrtc
  • php函数式编程
  • 政府奖励怎么做账
  • 继续涉入资产后续计量
  • uni-app打包h5
  • 阳光穿透云层是什么效应
  • 累计应缴预缴所得税怎么算
  • GPT-4 免费体验方法
  • tracetcp命令
  • 公对公的税票是怎么个流程
  • 个体经营所得可以用投资人申报吗
  • pycharm cant find main
  • wordpress自动更新
  • 帝国cms获取当日发布的url链接
  • 计提缴纳企业所的会计分录怎么写
  • SQLServer2005与SQLServer2008数据库同步图文教程
  • sql游标用法
  • 固定资产盘点怎么做
  • 无形资产界定
  • 本期销项税额怎么算
  • 饭店开业多久可以正常
  • 金税盘要交税吗
  • 期末余额就是本年累计吗
  • 增值税零税率发票怎么开
  • 收到残保金退税现金流
  • 金融存款利率
  • 用于研发购买的材料进项税额
  • 红字发票的开具需要把开始的发票取回作废吗?
  • 弥补企业以前年度亏损 顺序
  • 红字更正法的使用范围是什么
  • 企业预交所得税税率
  • 投入产出比的计算依据
  • 印花税如何做账报税
  • mysql coalesce函数用法
  • mysql缓冲区
  • 红帽子一个月能挣多少钱
  • win7误删注册表
  • win8对机械硬盘不友好
  • xp系统桌面图标大小怎么调整
  • gcuservice.exe
  • win7系统配置怎么设置
  • vmwareUbuntu虚拟机硬盘扩容
  • jquery滚动到底部
  • jQuery checkbox选中问题之prop与attr注意点分析
  • jquery给td设置内容
  • jquery生成元素
  • 12种JavaScript常用的MVC框架比较分析
  • 尽有可能的拼音
  • Python实现HTTP协议下的文件下载方法总结
  • 税务实地核实工作程序
  • 退发票操作流程
  • 润泽一词出自哪里
  • 国税系统如何查询发票
  • 预约怎么缴费
  • 完税证明可以自己在官网打印吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设