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 相关文章推荐
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
Nov 17 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
javascript密码强度校验代码(两种方法)
Aug 10 Javascript
浅谈node.js中async异步编程
Oct 22 Javascript
Bootstrap响应式侧边栏改进版
Sep 17 Javascript
JavaScript SHA1加密算法实现详细代码
Oct 06 Javascript
AngularJS入门教程之过滤器用法示例
Nov 02 Javascript
react.js 翻页插件实例代码
Jan 19 Javascript
详解小程序循环require之坑
Mar 08 Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 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
解析ajax事件的调用顺序
2013/06/17 PHP
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
python操作MySQL数据库具体方法
2013/10/28 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
用python实现百度翻译的示例代码
2018/03/09 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
Python3最长回文子串算法示例
2019/03/04 Python
详解Python 解压缩文件
2019/04/09 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
Numpy数组的广播机制的实现
2020/11/03 Python
自学考试自我鉴定范文
2013/09/26 职场文书
公司年会晚宴演讲稿
2014/01/06 职场文书
促销活动方案模板
2014/02/24 职场文书
中华魂演讲稿
2014/05/13 职场文书
应聘护士求职信
2014/07/21 职场文书
2014年保育员工作总结
2014/12/02 职场文书
培训后的感想
2015/08/07 职场文书
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS