解决Vue在封装了Axios后手动刷新页面拦截器无效的问题


Posted in Javascript onNovember 08, 2018

项目类型:vue+vux+axios

刚开始,把Axios封装在了http.js文件里面,然后为了使用VUX的提示框消息,把拦截器直接写在了main.js里面。直接调用接口,一切正常。

然而因为返回值有统一的code错误代码提示,所以在拦截器里面加入了code的判断以便统一返回值。刚开始一切都是按照预期的结果来走的。就在一个夜黑风高的晚上,我头晕眼花的按F5手动刷新了一下页面,惊奇的发现拦截器失效了,并没有拦截外面的Coode Json代码层,而是直接把服务器的全部json数据劈头盖脸的砸在了我的脸上。一脸懵逼的我以为是接口的问题,可是在组件里面直接用console.log打印出来的数据又是对的。

解决Vue在封装了Axios后手动刷新页面拦截器无效的问题

然后我突然想到了一个问题,直接点击页面返回的话,确实是OK的,但是如果按F5手动刷新的话,Axios并不会直接走main.js里面的拦截器代码。

后来我把拦截器放在了封装的http.js里面,结果就一切正常了,不过郁闷的是放在了外面以后,vux的提示插件没有办法用了。

打印了this指针,果不其然的undefind了,后来想到了一个比较变通的方法,我在index.html里面增加了一个var app用来存储main里面初始化的vue对象,并且在main.js里面把初始化的vue对象给赋值到windows.app上面,这样全局都可以使用了。

解决Vue在封装了Axios后手动刷新页面拦截器无效的问题

把vux的提示代码加上window.app.$vux.toast.show 完美解决问题!

总结

以上所述是小编给大家介绍的解决Vue在封装了Axios后手动刷新页面拦截器无效的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
css样式标签和js语法属性区别
Nov 06 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
Dec 30 Javascript
javascript实现校验文件上传控件实例
Apr 20 Javascript
Javascript小技能总结(推荐)
Jun 02 Javascript
使用DeviceOne实现微信小程序功能
Dec 29 Javascript
JS实现向iframe中表单传值的方法
Mar 24 Javascript
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
Vue computed计算属性的使用方法
Jul 14 Javascript
vue脚手架搭建项目的兼容性配置详解
Jul 17 Javascript
JavaScript如何实现图片处理与合成
May 29 Javascript
vue.js层叠轮播效果的实例代码
Nov 08 #Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 #Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 #Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
Nov 08 #Javascript
Vux+Axios拦截器增加loading的问题及实现方法
Nov 08 #Javascript
Angular设置别名alias的方法
Nov 08 #Javascript
vue-cli安装使用流程步骤详解
Nov 08 #Javascript
You might like
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
小谈php正则提取图片地址
2014/03/27 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
Cython 三分钟入门教程
2009/09/17 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
python 字符串常用方法汇总详解
2019/09/16 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
windows支持哪个版本的python
2020/07/03 Python
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
经典大学生求职信范文
2014/01/06 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
Python中for后接else的语法使用
2021/05/18 Python