位置: 编程技术 - 正文

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)

  • 三公经费指的是什么
  • 计提房产税和土地税
  • 增值税加计扣除是什么意思啊
  • 支付境外劳务费需要缴纳哪些税费
  • 实质课税原则是税法基本原则吗
  • 企业所得税核定征收怎么计算
  • 汇算清缴补交所得税怎么做凭证
  • 投资控股型公司什么意思
  • 由商场代收营业费怎么算
  • 预付房租收到发票怎么做
  • 车间一般性耗用材料会计分录
  • 生产质量问题报告怎么写
  • 预缴的所得税怎么做分录
  • 应付企业负担的职工社会保险费
  • 发票可以开具办公用品吗?
  • 我的初级备考经验--相信自己
  • 生产企业出口货物必须以什么为计税依据计算免抵退税额
  • 1697508019
  • 非金融企业之间的借款合同要交印花税吗
  • 融资租入固定资产改建支出计入
  • 短期投资是会计准则吗
  • 宝塔linux面板怎么安装
  • mac如何修改图片像素大小
  • windows10如何更换桌面壁纸
  • 理财收益的增值怎么算
  • 个人所得税到年底能不能退回来
  • rpcclient.exe - rpcclient是什么进程 有什么用
  • 受托方代收代缴的消费税计入成本吗
  • 外贸公司付款方式有几种
  • 启动电脑显示器不亮怎么回事
  • php堆和栈
  • 房地产公司土地在资产负债表列入
  • 结转损益类收入科目的余额会计分录
  • nginx反向代理详解
  • php中定义常量的函数是什么
  • 谷歌浏览器跨域解决方案
  • 优化器总结
  • php识别验证码的库高级
  • 个体工商户的酒店增值税率是多少
  • 当月计提的公积金怎么取
  • 一般纳税人普通发票做账
  • 装修公司开增值税专用发票几个点
  • 短期借款属于经营活动还是筹资活动
  • 普通发票可抵税吗
  • sql server 排名函数
  • db2 connect命令
  • 小企业会计准则调整以前年度费用分录
  • 以前年度损益调整账务处理分录
  • 购买固定资产记账
  • 应付账款扣款分录
  • 新产品的研发费用扣除例题
  • 大中小企业划分标准2022最新
  • 建账前的准备工作
  • mysql中的触发器
  • mysql与c++相连
  • win7系统怎么对外发送wifi信号
  • tesmon.sys导致的蓝屏
  • 苹果电脑注释
  • u盘 macbook
  • linux命令find用法
  • macbook key
  • 提示无法启动打印作业
  • lnmgr.exe是什么
  • w10系统屏幕一直在闪
  • win7系统怎么加入工作组
  • Linux编译内核无法启动
  • 正二十面体怎么建模
  • Nodejs+express+html5 实现拖拽上传
  • css网站布局实录 pdf
  • perl 数组放入另一个数组
  • opengl颜色代码表
  • shell的逻辑运算符
  • shell脚本符号
  • jQuery实现可以控制图片旋转角度效果(附demo源码下载)
  • js和jquery混合使用
  • python 多线程
  • 荆州市物业管理
  • 个人所得税自行纳税申报表a表填写模板
  • 进口小麦关税税率是多少
  • 市中区税务局办税大厅地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设