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 相关文章推荐
一个选择最快的服务器转向代码
Apr 27 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
Dec 25 Javascript
JavaScript实现简单的星星评分效果
May 18 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
May 09 Javascript
详解javascript对数组和json数组的操作
Apr 15 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
Nov 01 Javascript
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
JS原形与原型链深入详解
May 09 Javascript
vue router 动态路由清除方式
May 25 Vue.js
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打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php修改时间格式的代码
2011/05/29 PHP
fgetcvs在linux的问题
2012/01/15 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
php报错502badgateway解决方法
2019/10/11 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
python实现黑客字幕雨效果
2018/06/21 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
Linux机考试题
2015/07/17 面试题
四年大学生活的自我评价范文
2014/02/07 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
新教师工作感言
2014/02/16 职场文书
暑期研修感言
2014/02/17 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书