Vue利用路由钩子token过期后跳转到登录页的实例


Posted in Javascript onOctober 26, 2017

在Vue2.0中的路由钩子主要是用来拦截导航,让它完成跳转或前取消,可以理解为路由守卫。

分为全局导航钩子,单个路由独享的钩子,组件内钩子。

三种 类型的钩子只是用的地方不一样,都接受一个函数作为参数,函数传入三个参数,分别为to,from,next。

其中next有三个方法

(1)next(); //默认路由

(2)next(false); //阻止路由跳转

(3)next({path:'/'}); //阻止默认路由,跳转到指定路径

这里我使用了组件内钩子进行判断token过期后跳转到登录页,其他两种钩子可以去官网查看。

//路由前验证
  beforeRouteEnter(to, from, next) {
   let postdata = {
    meta: {
     client_version: "1.0",
     client_type: "1",
    },
    data: {
     access_token: $.cookie("authtoken").toString()
    }
   }

   $.ajax({
    url: urls.serchuser,
    type: 'POST',
    data: JSON.stringify(postdata)
   }).done(data => {
    data = JSON.parse(data);
    console.log(data);
    if(data.status == 10050) {
     next(false);
     location.href = 'login.html';
    }else{
     next();
    }
   })
  }

实现方法很简单,在路由前向服务器发送请求,如果返回的数据表明token过期则阻止默认跳转,否则就正常跳转。

以上这篇Vue利用路由钩子token过期后跳转到登录页的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript获取GridView选择的行内容
Apr 14 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
Oct 29 Javascript
一个简单的Ext.XTemplate的实例代码
Mar 18 Javascript
json对象转字符串如何实现
Dec 02 Javascript
HTML上传控件取消选择
Mar 06 Javascript
JavaScript中检测变量是否存在遇到的一些问题
Nov 11 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
基于Javascript实现弹出页面效果
Jan 01 Javascript
数组Array的排序sort方法
Feb 17 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 Javascript
NProgress显示顶部进度条效果及使用详解
Sep 21 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 #Javascript
webpack3之loader全解析
Oct 26 #Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 #Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 #Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 #Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 #Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 #Javascript
You might like
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
JS设置获取cookies的方法
2014/01/26 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
JavaScript中0和""比较引发的问题
2016/05/26 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
vue实现微信分享功能
2018/11/28 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
python抽取指定url页面的title方法
2018/05/11 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
用python绘制樱花树
2020/10/09 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
化学教师教学反思
2014/01/17 职场文书
金融与证券专业求职信
2014/06/22 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
法务专员岗位职责
2015/02/14 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
初二英语教学反思
2016/02/15 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP