位置: 编程技术 - 正文

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)

  • 补提企业所得税怎么做账
  • 房产租金收入免不免房产税?
  • 报废的原材料
  • 什么是工程销项表
  • 软件和硬件如何集合使用
  • 注册商标费用计算方法
  • 网银转账往来款
  • 特殊性税务处理所得税怎么算
  • 发出商品是用进货吗
  • 子公司注销母公司合并报表处理
  • 个人独资核定征收和查账征收的区别
  • 营改增试点纳税人提供有形动产租赁服务,税率为
  • 食堂购买食材明细表
  • 互联网合同范本
  • 房产证没有可以补办吗
  • 同一地级行政区范围内举例
  • 消费税的征收范围
  • 停车场如何申领车牌号
  • 直系亲属之间转账要交税吗
  • 进项和销项单价的比例
  • 公司活动服装费会计分录
  • 物流公司油卡怎么抵税的
  • 公司账户替别人过账
  • bois如何设置启动项
  • 转让金融商品应交增值税计算公式
  • 企业职工福利有哪些
  • 物业公司的水电工工作职责
  • excel表格怎么自制表格
  • PHP:oci_fetch_all()的用法_Oracle函数
  • php转word
  • php判断字符串长度的方法
  • 审计项目种类
  • 微信接口开发平台
  • php图片识别处理归类
  • vue axios 拦截器
  • php操作mysql数据库的扩展有哪三个
  • php操作mysql数据库
  • uniapp开发app视频教程
  • reset=target
  • 个人所得税法实施细则2023
  • 回购股票并注销影响所有者权益吗
  • 航天信息发票怎么抵扣
  • 计算企业所得税分录
  • 疫情期间提涨薪合适吗
  • 销售开票会计分录怎么做
  • 租赁公司开票没有写数量可以开吗?
  • 应收业务处理流程
  • 实收资本账务处理错误可以调减吗
  • 公司如果不交社保会怎么样
  • 实缴税额怎么算
  • 缴纳印花税如何写分录
  • 疫情防控期间临时性工作补助申请
  • 归还银行贷款利息计入
  • 普票丢失可以用复印件入账吗
  • 百旺购货方红字信息表怎么开具
  • 盈余公积根据什么确定
  • mysql中关于图书馆实训题
  • mysql8.0 主从
  • sqlserver日志恢复数据
  • win7系统激活不成功怎么办
  • xp系统怎样创建网络连接
  • win10rs2是哪个版本
  • 电脑显示windowsxp不能进入桌面
  • windows8鼠标点击右键反应慢咋回事
  • 双击windows 7桌面上的快捷图标可以干嘛
  • win8使用教程和技能
  • win10如何不升级系统
  • macbook core2
  • linux 746
  • android打包原理
  • 批处理查询文件是否存在
  • shell脚本spawn
  • linux find -cmin
  • unity操作教程
  • 安卓手机都这样
  • 小规模纳税人季报网上申报流程
  • 打印发票需要什么信息
  • 车辆购置税减免政策上汽大通 大家mifa6
  • 税务ca证书过期
  • 单位纪检员和纪检委员区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设