解决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 相关文章推荐
用Javascript实现UTF8编码转换成gb2312编码
Dec 22 Javascript
js 优化次数过多的循环 考虑到性能问题
Mar 05 Javascript
jquery文档操作wrap()方法实例简述
Jan 10 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
javascript表格的渲染组件
Jul 03 Javascript
javascript检查浏览器是否已经启用XX功能
Jul 10 Javascript
Bootstrap路径导航与分页学习使用
Feb 08 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
Vue实现浏览器打印功能的代码
Apr 17 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 xml-rpc远程调用
2008/12/19 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
浅析PHP开发规范
2018/02/05 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
Python字符串的修改方法实例
2019/12/19 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
村委会主任先进事迹
2014/01/15 职场文书
学生周末长期请假条
2014/02/15 职场文书
2015年教师节慰问信
2015/03/23 职场文书
李强感恩观后感
2015/06/17 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
Nginx进程调度问题详解
2021/09/25 Servers
美元符号 $
2022/02/17 杂记
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫