解决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国旗变换效果代码
Aug 13 Javascript
jQuery 表单验证扩展代码(二)
Oct 20 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
原生JS可拖动弹窗效果实例代码
Nov 09 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
js创建对象几种方式的优缺点对比
Sep 28 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 Javascript
国内常用的js类库大全(CDN公共库)
Jun 24 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
实用函数9
2007/11/08 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php封装的smarty类完整实例
2016/10/19 PHP
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
vue.js的提示组件
2017/03/02 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
vue父子组件通信的高级用法示例
2019/08/29 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vant实现购物车功能
2020/06/29 Javascript
Python实现CET查分的方法
2015/03/10 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
利用python修改json文件的value方法
2018/12/31 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
继承公证书
2014/04/09 职场文书
五水共治一句话承诺
2014/05/30 职场文书
厕所文明标语
2014/06/11 职场文书
战友聚会致辞
2015/07/28 职场文书