位置: 编程技术 - 正文

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)

  • 查补以前年度税款
  • 递延所得税资产怎么计算
  • 城市维护建设税的计税依据是什么
  • 广告公司开票能开劳务费吗
  • 购入包装物计入
  • 企业所得税汇算清缴申报表
  • 向投资者支付股利
  • 工程资金占用计算利率是多少
  • 如何申请办理残疾证
  • 总分机构如何纳税
  • 个人独资企业变更投资人要交税吗
  • 油费补贴是否计入个税
  • 制作原始人类用的工具
  • 应交税费贷方余额怎么算
  • 企业厂房整改应该计入什么科目?
  • 托收承付销售货物什么意思
  • 什么是企业所得税收入
  • 给个人支付劳务报酬怎么做账
  • 土地增值税纳税地点
  • 只要有收入就要交印花税吗
  • 收到保险公司退款
  • 固定资产取得方式A04代号
  • 发票申请需要多久
  • 建筑企业异地预缴增值税流程
  • 发票开了款没付
  • 建筑行业挂靠什么意思
  • 企业白条报销和采取措施
  • 预付账款供应商类别怎么填
  • 冲暂估怎么做分录
  • 版权许可授权书
  • 单位租房的房租怎么入账
  • 提供给生产工人的住房的租赁费用应计入
  • win10更新补丁卸载不了
  • 使用Huagepage和PGO来提升PHP7的执行性能
  • 如何备份计算机的注册表
  • macbookpro常见问题
  • pqtray.exe - pqtray 是什么进程 有什么用
  • 已缴税额比应纳税额多
  • if.else
  • 房产税缴纳标准是多少
  • 如何取消库存商品订单
  • zend框架教程
  • 森林中的结香花,日本 (© nattya3714/Getty Images)
  • 融资租赁的会计科目
  • 帝国cms结合项多选
  • PostgreSQL管理工具phpPgAdmin入门指南
  • 国有集体企业是国企吗
  • 预充值发票可以报销吗
  • 预缴增值税附加税需要计提吗
  • 工会经费怎样使用
  • 当月销售下月开票
  • 个人承担社保如何办理
  • 仓库员工工资
  • 所有者权益的来源包括
  • 以前年度费用科目入错 不影响以前年度利润的账务处理
  • 凭发票报销的通知简单
  • 企业增资的流程
  • sql server 2000安装好打开不显示名称和服务原因
  • mysql8.0创建函数
  • Windows Server 2008下Backup功能全通透
  • Fedora Core 5.0 安装教程,菜鸟图文教程(linux text)
  • android-x86安装
  • ubuntu sudo apt
  • SMax4PNP.exe - SMax4PNP是什么进程
  • dgservice.exe是什么
  • ctd module
  • win10周年版
  • windows10地图用不了
  • opengl教程48讲
  • awk中RS、ORS、FS、OFS的区别和联系小结
  • opengl基础知识噪声名词解释
  • javascript内置对象应用团购
  • 队列remove
  • linux 消息队列 系统参数
  • python中pandas.DataFrame对行与列求和及添加新行与列示例
  • javascript如何
  • jquery iframe
  • ruby format
  • 企业怎么成立工会组织
  • 个人养老金没有开立资金账户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设