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 相关文章推荐
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Mar 22 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
js时间日期格式化封装函数
Dec 02 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
javascript的函数劫持浅析
Sep 26 Javascript
node puppeteer(headless chrome)实现网站登录
May 09 Javascript
json数据传到前台并解析展示成列表的方法
Aug 06 Javascript
jQuery实现评论模块
Aug 19 jQuery
Openlayers实现测量功能
Sep 25 Javascript
jQuery实现放大镜案例
Oct 19 jQuery
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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
Admin generator, filters and I18n
2011/10/06 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jquery json 实例代码
2010/12/02 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
node实现基于token的身份验证
2018/04/09 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
造型师求职自荐信
2013/09/27 职场文书
英语生日邀请函
2014/01/23 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
班级旅游计划书
2014/05/03 职场文书
保护环境建议书400字
2014/05/13 职场文书
小学生春游活动方案
2014/08/20 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
商务考察邀请函模板
2015/02/02 职场文书
教师节老师寄语
2015/05/28 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
浅析Django接口版本控制
2021/06/26 Python