位置: 编程技术 - 正文

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)

  • 小规模减免增值税
  • 纳税人识别号在哪里能查到
  • 关联方交易影响因素
  • 企业清算货币资金怎么算
  • 预算为负数实际为负数 怎么计算完成率
  • 临时工工资为什么那么低?
  • 固定资产特性
  • 固定资产处置的增值税税率
  • 工会经费和职工教育经费比例
  • 成品油增值税抵减政策
  • 免费样品销售给客户计入什么科目
  • 深圳风险程度
  • 年收入12万以内个人所得税
  • 无票费用如何做凭证分录
  • 收据大写要写整吗
  • 物业管理企业简介范文
  • 工资年终奖金扣多少税
  • 普通合伙企业个税怎么算
  • 个人账户付款到对公账户
  • 税务贷的用途
  • 消费税的计算公式推导过程
  • 1697509550
  • hdmi连接电视无法全屏
  • 无法收回的应收票据怎么处理
  • 代理公司变更收费标准
  • 皮肤痒怎么回事
  • php动态网站开发项目教程
  • 挪威有鹿吗
  • idea怎么运行前端vue项目
  • php储存数据的方法
  • 前端项目部署到nginx
  • 删除数组中某个值的数
  • 简易计税适用什么类型企业
  • 增值税系统技术维护费抵扣只能当月申报
  • 帝国cms使用手册
  • 什么是行政规费和税费
  • 小企业会计准则和一般企业会计准则的区别
  • java对象内存大小计算
  • 无退税产品出口征税
  • 记账凭证附件粘贴
  • 开增值税专票要交税吗
  • 劳务报酬所得项目
  • mysql error!
  • 跨年银行回单怎么入账
  • 接受母公司捐赠现金分录
  • 资本公积转为实收资本会计科目
  • 应付职工薪酬的工资是实发工资还是应发工资
  • 发票做帐有什么用
  • 房租收入应如何纳税
  • 股权转让的实质
  • 政府给的专款专用的补助,怎么入账
  • 资产减值损失和资产减值准备的区别
  • 销项发票能不能退税
  • 会计损益类科目有哪些,期末如何结转?
  • 筹建期开办费明细
  • 增值税其他免税销售额
  • 混合销售行为的概念
  • sql中分页
  • Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • WZCSLDR.exe - WZCSLDR是什么进程
  • windows隐藏administrator
  • xp系统蓝屏解决
  • win8老是自动安装软件
  • ubuntu ftp服务器怎么搭建
  • mac怎么打开macintosh
  • window10h2
  • Cocos2d唯一死敌的崛起,OGEngine来了
  • shell线程操作命令
  • dos命令怎么写
  • html中的表格
  • Node.js中的construct
  • unity3d spine
  • javascript:void(0)点击登录没反应怎么解决
  • 面向对象三大基本特性
  • 河南省出租车网
  • 即征即退什么时候确认收入
  • 陕西省电子税务局
  • 税务师报考条件和时间2021湖北
  • 怎样通过发票号码查询电子发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设