解决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-Jquery简介 入门了解篇
Nov 25 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
Sep 29 Javascript
javascript设计模式之工厂模式示例讲解
Mar 04 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
Sep 21 Javascript
多种方式实现js图片预览
Dec 12 Javascript
浅析Javascript中双等号(==)隐性转换机制
Oct 27 Javascript
详解React之父子组件传递和其它一些要点
Jun 25 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 Javascript
js 计算月/周的第一天和最后一天代码
Feb 01 Javascript
在Chrome DevTools中调试JavaScript的实现
Apr 07 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手册及PHP编程标准
2006/12/17 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
JS实现图片切换效果
2018/11/17 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Python内置函数OCT详解
2016/11/09 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
恐龙的灭绝教学反思
2014/02/12 职场文书
集中整治工作方案
2014/05/01 职场文书
学生鉴定评语大全
2014/05/05 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
永不妥协观后感
2015/06/10 职场文书
单位证明范文
2015/06/18 职场文书
php字符串倒叙
2021/04/01 PHP
win10更新失败无限重启解决方法
2022/04/19 数码科技