vue axios登录请求拦截器


Posted in Javascript onApril 02, 2018

当我们在做接口请求时,比如判断登录超时时候,通常是接口返回一个特定的错误码,那如果我们每个接口都去判断一个耗时耗力,这个时候我们可以用拦截器去进行统一的http请求拦截。

1.安装配置axios

cnpm install --save axios 

我们可以建一个js文件来做这个统一的处理,新建一个axios.js,如下

import axios from 'axios' 
import { Indicator } from 'mint-ui'; 
import { Toast } from 'mint-ui'; 
// http request 拦截器 
axios.interceptors.request.use( 
  config => { 
    Indicator.open() 
    return config; 
  }, 
  err => { 
    Indicator.close() 
    return Promise.reject(err); 
  }); 
// http response 拦截器 
axios.interceptors.response.use( 
  response => { 
    Indicator.close() 
    return response; 
  }, 
  error => { 
    Indicator.close() 
  }); 
export default axios

然后在main.js中引入这个js文件

import axios from './axio'; 
Vue.prototype.$axios = axios;

这样就可以使用axios去请求了,在组件中可以用this.axios去调用

this.$axios({ 
    url:requestUrl+'homePage/v1/indexNewPropertiesResult', 
    method:'POST', 
   }).then(function(response){ //接口返回数据 
    console.log(response) 
    that.modulesArr=response.data.data.modules; 
//   that.getRecommendGoods(0); 
   });

只有用axios请求接口,才能去拦截,现在已经能在axios.js中拦截到了,可以在两个状态中做你需要的操作

补充:

axios使用拦截器统一处理所有的http请求

axios使用拦截器

在请求或响应被 then 或 catch 处理前拦截它们。

•http request拦截器

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
 }, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
 });

•http respones拦截器

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response;
 }, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
 });

•移除拦截器

var myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);

•为自定义axios实例添加拦截器

var instance = axios.create();
instance.interceptors.request.use(function () {/*...*/});

总结

以上所述是小编给大家介绍的vue axios登录请求拦截器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
代码生成器 document.write()
Apr 15 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
Mar 21 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
node.js中的url.parse方法使用说明
Dec 10 Javascript
JavaScript获取当前网页标题(title)的方法
Apr 03 Javascript
javascript this详细介绍
Sep 19 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 Javascript
js时间戳与日期格式之间转换详解
Dec 11 Javascript
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
Aug 31 Javascript
小程序实现分类页
Jul 12 Javascript
javascript实现放大镜功能
Dec 09 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 #Javascript
vue axios请求超时的正确处理方法
Apr 02 #Javascript
JavaScript 日期时间选择器一些小结
Apr 02 #Javascript
vue计算属性及使用详解
Apr 02 #Javascript
vue小白入门教程
Apr 02 #Javascript
Angular父组件调用子组件的方法
Apr 02 #Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 #Javascript
You might like
PHP 手机归属地查询 api
2010/02/08 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
Javascript继承机制详解
2017/05/30 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
python类参数self使用示例
2014/02/17 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
python中logging库的使用总结
2017/10/18 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
Python关于反射的实例代码分享
2020/02/20 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
买房协议书
2014/04/11 职场文书
松材线虫病防治方案
2014/06/15 职场文书
大学生创业计划书
2014/08/14 职场文书
成都人事代理协议书
2014/10/25 职场文书
中秋节感想
2015/08/10 职场文书