Vue实现数据请求拦截


Posted in Javascript onOctober 23, 2019

本文实例为大家分享了vue数据请求拦截的具体代码,供大家参考,具体内容如下

在src文件夹下创建utils文件夹

Vue实现数据请求拦截

同时在文件夹下创建request.js和auth.js文件

request.js为请求拦截、请求数据封装主入口
auth.js为设置token和删除token及判断用户是否登录封装主入口 

auth.js (封装token)

export function isLogin() {
  if (localStorage.getItem('token')) {
   return true;
  } else {
   return false;
  }
 }
 export function getToken() {
  return localStorage.getItem('token');
 }
 export function setToken(token) {
  localStorage.setItem('token', token);
 }
 
 export function removeToken() {
  localStorage.removeItem('token');
 }

下载axios(命令: npm install axios --save-dev)、同时引入axios、getToken

import axios from 'axios';
import { getToken } from './auth';

创建实例:传两个参数(timeout(超时时间)、baseUrl(服务器路径))

const instance = axios.create({
   timeout: 5000,
   baseURL: 'https://xxxxxxxxx/xxxx/',
 });

请求拦截

// 请求拦截
 instance.interceptors.request.use(
  function(config) {
   // eslint-disable-next-line prettier/prettier
   config.headers.authorization = 'Bearer ' + getToken();
   return config;
  },
  function(error) {
   // Do something with request error
   return Promise.reject(error);
  }
 );
 
 instance.interceptors.response.use(
  response => {
   return response;
  },
  error => {
   if (error.response.status == 401) {
    window.location.href = '/#/login';
   }
   if (error.response.status == 404) {
    window.location.href = '/404.html';
   }
   return Promise.reject(error.response.data);
  }
 );

请求封装

/**
  * 获取数据 get请求
  * @param {*} url
  * @param {*} config
  */
 export const get = (url, config) => instance.get(url, config);
 
 /**
  * post请求
  * @param {*} url
  * @param {*} data
  * @param {*} config
  */
 export const post = (url, data) => instance.post(url, data);
 /**
  * put
  * @param {*} url
  * @param {*} data
  * @param {*} config
  */
 export const put = (url, data, config) => instance.put(url, data, config);
 
 /**
  * delete
  * @param {*} url
  * @param {*} config
  */
 export const remove = (url, config) => instance.delete(url, config);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
Js 导出table内容到Excel的简单实例
Nov 19 Javascript
关于JavaScript中name的意义冲突示例介绍
May 29 Javascript
js中一维数组和二位数组中的几个问题示例说明
Jul 17 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
Sep 11 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
AngularJS入门教程之Cookies读写操作示例
Nov 02 Javascript
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
Nov 15 Javascript
基于wordpress的ajax写法详解
Jan 02 Javascript
Vue项目中如何使用Axios封装http请求详解
Oct 23 #Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 #Javascript
原生JS无缝滑动轮播图
Oct 22 #Javascript
Vue实现开心消消乐游戏算法
Oct 22 #Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 #Javascript
微信小程序绑定手机号获取验证码功能
Oct 22 #Javascript
微信小程序开发之转发分享功能
Oct 22 #Javascript
You might like
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
php简单复制文件的方法
2016/05/09 PHP
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
浅谈vue的踩坑路
2017/08/31 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
vue props传值失败 输出undefined的解决方法
2018/09/11 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
python实现比较文件内容异同
2018/06/22 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
Python基于requests库爬取网站信息
2020/03/02 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
董事长职责范文
2013/11/08 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
单位绩效考核方案
2014/05/11 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
员工考勤管理制度
2015/08/06 职场文书