位置: 编程技术 - 正文

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)

  • 税收分类方法表格
  • 足浴行业是否需要缴纳文化事业建设税
  • 社保缴费基数怎么算出来的啊
  • 结转应交增值税到未交增值税
  • 收到扶贫款怎么做会计分录
  • 用友t3凭证日期怎么自动排序
  • 工程材料票抵扣比例
  • 支付所得税属于筹资活动吗
  • 金税盘服务费能抵税吗
  • 户外公司招牌
  • 建行网银转账复核流程
  • 公司购入小汽车是否可以抵扣
  • 纳税人经营所得预缴申报表怎么填
  • 土地使用费怎么申报
  • 土地增值税清算规程实施细则
  • 事业单位盘亏资产的处理
  • 个人独资企业缴纳个人所得税
  • 公司汽车装潢和保养做什么会计科目
  • 汇算清缴调增税金及附加
  • 营改增后小规模纳税人所得税
  • 单位公积金可以拖欠多长时间缴
  • 商业企业取得农产品税收
  • 稿酬所得税额
  • 土地增值税的纳税人是在我国境内
  • 会计所得税和税法所得税
  • 专项资金如何做账务处理
  • 无偿划转净资产为负数的企业账务处理
  • 购买银行承兑汇票的会计分录
  • 外贸企业进项税额转出会计分录
  • 金蝶k3迷你版年度结账
  • 个人所得税代扣代缴的适用范围
  • 鸿蒙系统怎么开发
  • 没有车船税可以检车吗
  • 对外贸易法律的特征包括
  • 行政事业单位临聘人员
  • 桌面图标间距特别大
  • win10新版本21h1
  • 电脑bios错误怎么办
  • 进项税大于销项税怎么结转
  • linux device drivers
  • 付不出去的应付账款如何写说明书
  • thinkphp5.0.23
  • 税收滞纳金可以抵税吗
  • 厂房的设计审查要求
  • 商业银行流动性风险监管指标
  • 怎么写产品成本分析
  • ml神经网络
  • cmd 过滤命令
  • 利润表上期数指的是什么
  • 企业注销后还有风险吗
  • 销售折让的会计科目
  • 织梦cms怎么样
  • SQLserver2014(ForAlwaysOn)安装图文教程
  • 平均资产总额与资产总额的关系
  • 实收资本收到后用途
  • 收到公益性捐赠计入什么科目
  • 暂估应付账款的科目编码
  • 去年的账科目记错了怎么办
  • 存储过程实现业务逻辑
  • win10免费安装吗
  • 如何查看网络连接密码
  • xp系统弹出广告怎么处理
  • windows如何关闭
  • win73d设置怎么设置
  • 在linux系统中拥有
  • javascript中call apply 与 bind方法详解
  • python读取grib
  • 查看进程使用的端口
  • python嵌套列表生成
  • javascript如何定义一个函数
  • shell脚本的实现
  • Python工程师面试题 与Python Web相关
  • unity mul函数
  • jquery如何调用
  • jquery easyui从零开始学pdf
  • 契税减免优惠政策2023年最新
  • 一个月可不可以瘦十斤
  • 北京医保网上服务大厅
  • 企业销售旧货增值税税率
  • 广州市国家税务局稽查局举报中心
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设