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 相关文章推荐
火狐浏览器(firefox)下获得Event对象以及keyCode
Nov 13 Javascript
(function($){...})(jQuery)的意思
Jul 22 Javascript
Three.js源码阅读笔记(物体是如何组织的)
Dec 27 Javascript
jQuery中:only-child选择器用法实例
Jan 03 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
Jan 28 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
AngularJS中isolate scope的用法分析
Nov 22 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
vue、react等单页面项目应该这样子部署到服务器
Jan 03 Javascript
jQuery实现飞机大战小游戏
Jul 05 jQuery
解决vant-UI库修改样式无效的问题
Nov 03 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安装攻略:常见问题解答(二)
2006/10/09 PHP
PHP 超链接 抓取实现代码
2009/06/29 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
Javascript 实用小技巧
2010/04/07 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
使用js 设置url参数
2013/07/08 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
使用python绘制常用的图表
2016/08/27 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
Python中作用域的深入讲解
2018/12/10 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
小学班级特色活动方案
2014/08/31 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL