位置: 编程技术 - 正文

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)

  • 动态市盈率与静态市盈率区别百度百科
  • 销售商品返还现金
  • 资产组可收回金额包含商誉吗
  • 普通人如何交五险一金
  • 其他收益怎么用
  • 车间管理人工资计入什么科目
  • 预付加油卡发票可以报销吗
  • 往法人账户转备用金
  • 已交增值税如何做账
  • 划拨房二次出售缴纳出让金吗
  • 挂应付账款之后发现用现金付款如何调整?
  • 财务报告财务报表年度报告的区别
  • 工伤期间奖金发放标准
  • 企业员工奖励款怎么做账
  • 六大减税措施内容
  • 增值税扣税凭证包括增值税专用发票
  • 期末结转增值税顺序
  • 金税三期定期定额是什么
  • 企业购买商品房限购吗
  • 物流车辆挂靠账务怎么处理?
  • 残保金和工会经费
  • 冲抵备用金
  • 辅助生产车间照明用电计入哪个科目
  • 会计科目对应的会计要素
  • 成立公司必要性
  • php的数组函数
  • 定额征收怎么交税
  • 加权平均数的代码
  • fodhelper.exe是什么程序
  • g++.exe error
  • 如何编写会计记账凭证
  • phppoem
  • elementui
  • php对数组进行排序
  • gpt 中文
  • 汽车4s店一般会摆放什么小零食
  • js添加方法
  • php实现定时自动刷新
  • 保险公司发票能在异开吗
  • python tle
  • 只有销售才能使你成功的名言
  • 公司在银行买的理财产品怎么做账
  • 500元以下开收据要交税吗
  • 辞退补偿金计算
  • 社保的残保金的用途
  • 主营业务收入登记明细账簿范本
  • mysql的查询缓存与redis的区别
  • 库存不多
  • 现代服务业进项抵扣新政策
  • 待处理财产损益是备抵类科目吗
  • 记账凭证如何进行记账
  • 销售产品领用单独计价的包装物2000元,售价2400元
  • 财政拨款公司的资金来源
  • 现金日记账怎么记账
  • 这个月要交增值税怎么做账务处理
  • sql server本地登录
  • foxmail反应慢的原因
  • 将程序桌面图标放到桌面
  • mac osx 10.8
  • windowsxp的安装方法
  • windows10累积更新很慢
  • linux操作系统root
  • win8什么时候发布
  • linux如何使用u盘
  • 常见错误类型
  • javascript获取数据
  • linux shell条件判断语句
  • js操作对象的方法
  • Unity3d HDR和Bloom效果(高动态范围图像和泛光)
  • android installer apk
  • jquery轮播图原理
  • 云南增值税普通发票怎么开
  • 青岛税务局领导
  • 换电脑了税控盘怎么办
  • 政治轮训的效果
  • 最多跑一次改革是谁提出来的
  • 国税地税怎么分成
  • 2020税控盘升级后怎么使用
  • 网上预约税务局怎么弄
  • 北京车船税新标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设