位置: 编程技术 - 正文

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)

  • 出口抵减内销产品应纳税额为什么在借方
  • 有形资产租赁服务的税率
  • 税率的具体形式
  • 购买材料,收回会计分录
  • 税控盘退费怎么做会计分录
  • 支付给个人的佣金费用需要发票吗
  • 取得预收租金应如何申报缴税
  • 季度收入超过30万
  • 附加税退税申请书怎么写
  • 退货的增值税专用发票
  • 法人收到票据用什么抵扣
  • 办公场所转租赁需要交哪些税费
  • 股票印花税怎么交
  • 开一张增值税发票需要交哪些税
  • 未达起征点企业怎么处理
  • 药用植物所
  • 商业健康保险个税申报
  • 精装房不同合同的区别
  • 企业注销前注册资本必须到账吗
  • 专票入账暂不抵扣如何申报
  • 销售库存商品会引起收入增加吗
  • 专门从事股权投资的合伙企业投资收益 个人所得税
  • 工厂新增项目需要立项、环境评价
  • qt5core.dll丢失解决方法
  • 违约方能否要求返还价款
  • 合伙企业收到分红需要交所得税吗
  • 收到增值税红字发票怎么入账
  • 苹果手机无法加入WiFi
  • win10怎么关掉
  • 如何去掉电脑桌面背景图
  • php axios
  • bds.exe
  • 达拉斯位置
  • 继续涉入资产会计处理
  • yolov3训练自己的数据超详细
  • 残疾人保障金是什么科目
  • 建筑劳务公司何去何从
  • php日期计算器
  • 应交税金及附加包括哪些
  • 侧边导航栏点击后再展开
  • gitpull命令
  • 基本户转到法人账户会计分录
  • 生产型企业可以买进就卖出吗
  • mongodb数据库是哪个公司的
  • 企业所得税上个季度没报
  • sqlserver数据库提示授权过期
  • sql server 2008数据库引擎等安装失败
  • ms sql 2012
  • 季报现金流量表可以不填吗
  • 资产负债表中其他流动资产包括哪些
  • 无形资产出售当月是否摊销
  • 小微企业的认定标准企业所得税
  • sqlserver函数语法
  • 固定资产怎么做账
  • 银行进账单需要作为附件吗
  • 公司的在建工程入账会计分录没有付款
  • 收入与成本不配合
  • 总分类账与明细分类账的关系
  • 资产减值损失是费用类科目吗
  • 账簿设制的一般程序
  • mysql解压版
  • centos7.4
  • ctrmon.exe
  • visio.exe是什么进程
  • 重装windows764 位后后如何将apache mysql加入系统服务
  • aeadisrv.exe
  • win8系统怎么设置
  • Linux系统安全配置包括
  • 微软反盗xp黑屏怎么办
  • os x10.10.3beta5官网下载 yosemite10.10.3beta5下载地址
  • win10声卡驱动正常但没声音怎么解决
  • div left
  • glColor3f影响纹理贴图 的思考
  • python编码函数
  • linux c语言获取当前路径
  • mac版本eclipse 怎么使用
  • 风力发电税收优势分析
  • 1万4千块钱交多少个人所得税
  • 广州地税局官网办事点
  • 中国采购网地胶
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设