vue实现登录后页面跳转到之前页面


Posted in Javascript onJanuary 07, 2018

在开发中我们经常遇到这样的需求,需要用户直接点击一个链接进入到一个页面,用户点击后链接后会触发401拦截返回登录界面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢?

先说一下我们需要用到的几个API:

1.router.currentRoute:当前的路由信息对象,我们可以通过router.currentRoute.fullPath获得解析后的 URL,包含查询参数和 hash 的完整路径,如果要访问的页面的路由有命名(name)的话,可以通过router.currentRoute.name获得当前路由的名称。

2.router.replace:作用和router.push相同,不过它不会向history添加新纪录,而是替换当前的history记录。

由于大家的代码写的都不一样,我就不放我具体的实现代码,简单介绍一下思路:

1.用户点开链接后,跳转到的目标的路由页面,然后触发401拦截器,返回登录页面:

//401拦截
if(status == "401"){
  router.push("/login")   
}

2.我们可以在401拦截的时候将目标链接保存在url中:

if (status == 401) {
   //判断当前的路由是否是目标路由
   if(router.currentRoute.name == "target"){
    //跳转回login路由,并把目标路由的url路径保存在login的query中
    router.replace({
     name:"login",
     query: {redirect: router.currentRoute.fullPath}
    })
   }else{
    /* 普通401拦截直接返回到登录页面 */
    router.push('/login');
   }
  }

3.点击登录后使用url上保存的query直接跳转回目标页面

router.push({path:decodeURIComponent(url)});

以上就是我们分享的功能实现代码,感谢你对三水点靠木的支持。

Javascript 相关文章推荐
jquery事件与函数的使用介绍
Sep 29 Javascript
jquery获取复选框被选中的值
Apr 10 Javascript
Jquery 效果使用详解
Nov 23 Javascript
jQuery给元素添加样式的方法详解
Dec 30 Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 Javascript
jquery滚动条插件slimScroll使用方法
Feb 09 Javascript
javascript自执行函数
Feb 10 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
JS一个简单的注册页面实例
Sep 05 Javascript
利用原生JS实现data方法示例代码
May 28 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 #Javascript
express+mockjs实现模拟后台数据发送功能
Jan 07 #Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
Jan 07 #Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 #Javascript
CentOS环境中MySQL修改root密码方法
Jan 07 #Javascript
12条写出高质量JS代码的方法
Jan 07 #Javascript
js数组方法reduce经典用法代码分享
Jan 07 #Javascript
You might like
php 图片上添加透明度渐变的效果
2009/06/29 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
解析js如何获取css样式
2016/12/11 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
python 图片验证码代码分享
2012/07/04 Python
Python httplib模块使用实例
2015/04/11 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
高中生校园生活自我评价
2013/09/19 职场文书
教师推荐信范文
2013/11/24 职场文书
出生医学证明书
2014/09/15 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技