简单的封装axios 不包含状态码和提示

复杂封装,包含提示和状态码的,点击这里查看

以下是简单封装axios的request.js文件:

import axios from 'axios'
import router from './../router'
import { Message } from 'element-ui'// 设置axios全局默认的BASE-URL, 只要设置了全局的默认base_url,以后的请求会自动拼接上base_url
// -------------------------------注意改成自己的公共url------------------------------------
axios.defaults.baseURL = 'http://192.168.1.194/gateway'
axios.defaults.timeout = 10000// 配置axios的请求拦截器-(每次在请求头上携带后台分配的token-后台判断token是否有效等问题)
axios.interceptors.request.use(config => {// 在发送请求之前做些什么// console.log('请求到了哟', config.headers.Authorization)// 如果有其他的特殊配置 只需要判断config参数 设置即可// 标识系统为AJAX请求config.headers['X-Requested-With'] = 'XMLHttpRequest'// 统一的给config设置 token-------------------------------注意获取方法------------------------------------//   config.headers.Authorization = JSON.parse(localStorage.getItem('token'))config.headers['Token'] = '3d2eec53c6f74f43a85e8df083d9bf84'return config
}, error => {// 对请求错误做些什么return Promise.reject(error)
}
)// 响应拦截器 与后端定义状态是100时候是错误 跳转到登录界面
axios.interceptors.response.use(response => {// 对响应数据做点什么console.log('接口success', response)// 当返回信息为未登录或者登录失效的时候重定向为登录页面if (response.data.status == 100 ||response.data.message == '用户未登录或登录超时,请登录!') {localStorage.removeItem('token')router.push({path: '/login',querry: { } // 从哪个页面跳转})Message.warning(response.data.message)}return response.data
}, error => {console.log('接口error', error)// 对响应错误做点什么return Promise.reject(error)
}
)const $http = {}$http.get = function(url, data, config) {//  这一步把api方法里的  地址 参数 配置传入进来 配置到config 然后调用上面封装的axiosconfig = config || {}config.url = urlconfig.method = 'get'config.params = datareturn axios.request(config)
}$http.delete = function(url, data, config) {config = config || {}config.url = urlconfig.method = 'delete'config.params = datareturn axios.request(config)
}$http.post = function(url, data, config) {config = config || {}config.url = urlconfig.method = 'post'config.data = datareturn axios.request(config)
}$http.put = function(url, data, config) {config = config || {}config.url = urlconfig.method = 'put'config.data = datareturn axios.request(config)
}export { axios, $http }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精确记录和恢复ListView滑动位置

工作中遇到一个需求,对ListView某一项操作后刷新ListView,但是如果直接刷新,界面上ListView从第一列开始显示,用户体验不好,于是在网上搜了一些恢复LIstView滑动位置的方法。解决办法如下: //给ListView设置…

时间戳倒计时

var defaultTimeStamp Math.floor(Date.now()/1000);var dayA defaultTimeStamp % (24 * 3600) //除去天数,得到剩余的小时时间戳var hourA dayA % (3600) //除去小时,得到剩余的分钟数时间戳var minuteA hourA % (60) …

python中使用sys模板和logging模块获取行号和函数名的方法

From: http://www.jb51.net/article/49026.htm 这篇文章主要介绍了python中使用sys模板和logging模块获取行号和函数名的方法,需要的朋友可以参考下对于python,这几天一直有两个问题在困扰我: 1.python中没办法直接取得当前的行号和函数名。这是有人在论坛里提出的问…

第二阶段冲刺(五)

昨天云服务 今天云服务 遇到的问题 转载于:https://www.cnblogs.com/qianxia/p/5525095.html

axios的content-type是自动设置的吗?

是根据提交的数据根式自动设置的 三种常见post提交和方式 axios中使用qs

MyBatis MapperScannerConfigurer配置——MyBatis学习笔记之八

在上一篇博文的示例中,我们在beans.xml中配置了studentMapper和teacherMapper,供我们需要时使用。但如果需要用到的映射器较多的话,采用这种配置方式就显得很低效。为了解决这个问题,我们可以使用MapperScannerConfigurer&#xf…

本地ip出口查询

获取/查看本机出口ip curl http://members.3322.org/dyndns/getip

使用Python获取Linux系统的各种信息

From: http://www.jb51.net/article/52058.htm 这篇文章主要介绍了使用Python获取Linux系统的各种信息,例如系统类型、CPU信息、内存信息、块设备等,需要的朋友可以参考下在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息。走你。 哪个Python版…

本地如何搭建IPv6环境测试你的APP

IPv6的简介 IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索)。 PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦&am…

HDU 2376 Average distance

HDU_2376 对于任意一棵子树来讲&#xff0c;以根节点为深度最浅的点的路径一共有两类&#xff0c;一类是以根节点为端点的路径&#xff0c;另一类是过根节点但端点分别在两棵子树中的路径。然后将无根树转化为有根树后dfs时计算出上面两类路径的长度即可。 #include<stdio.h…

meta http-equiv属性兼容浏览器_定时刷新

<meta http-equiv"X-UA-Compatible" content"IEedge"> #以上代码告诉IE浏览器&#xff0c;IE8/9及以后的版本都会以最高版本IE来渲染页面。 <meta http-equiv"refresh" content"30"> #每30秒钟刷新当前页面:

使用 Python 获取 Linux 系统信息的代码

From: http://www.jb51.net/article/52107.htm 在本文中&#xff0c;我们将会探索使用Python编程语言工具来检索Linux系统各种信息,需要的朋友可以参考下哪个Python版本? 当我提及Python&#xff0c;所指的就是CPython 2(准确的是2.7).我会显式提醒那些相同的代码在CPython 3 …

利用FPGA加速实现高性能计算

原文链接 原因&#xff1a;处理器本身无法满足高性能计算(HPC)应用软件的性能需求&#xff0c;导致需求和性能 之间出现了缺口。最初解决办法&#xff1a;使用协处理器来提升处理器的性能。协处理器&#xff08;基于硬件的设计&#xff09;具有三种能力&#xff1a;1.专门的硬件…

CSS实现半透明div层的方法

很不错的CSS透明效果&#xff0c;本实例是用CSS控制外层DIV不透明&#xff0c;而内层DIV透明&#xff0c;这样实现的效果是意想不到的&#xff0c;还不错吧&#xff0c;其实代码也是很简单的&#xff0c;也很好理解&#xff0c;主要是用了CSS的滤镜。 <html xmlns"http…

bootstrap .navbar-header 控制button隐藏/显示

bootstrap 的导航条标签做的很完美&#xff01;我们用这个标签主要解决手机端和PC端适配的问题&#xff0c;结果复制过来不能用。。 检查&#xff1a;是否引入bootstrap.css js; 再重点检查有没有下面这行代码。 <meta name"viewport" content"widthdevi…

“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“解决方法

项目接口返回 code: 500 data: null message: “Content type ‘application/x-www-form-urlencoded;charsetUTF-8’ not supported” 原因在于&#xff0c;接口不支持application/x-www-form-urlencoded;charsetUTF-8 通过看swagger的接口传递数据类型来修改&#xff0c; 将…

新建第一个windows服务(Windows Service)

首先&#xff0c;请原谅我是一个小白&#xff0c;一直到前段时间才在工作需要的情况下写了第一个windows服务。首先说一下为什么写这个windows服务吧&#xff0c;也就是什么需求要我来写这么一个东西。公司的项目中&#xff0c;需要一个预警功能&#xff08;从数据库里取出需要…

Python获取电脑硬件信息及状态的实现方法

From: http://www.jb51.net/article/54470.htm 这篇文章主要介绍了Python获取电脑硬件信息及状态的实现方法,是一个很实用的技巧,需要的朋友可以参考下本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法&#xff0c;是Python程序设计中很有实用价值的技巧。分享给大…

通过类或ID记录上一个被选中的标签或者数字

通过类或ID记录上一个被选中的标签或者数字 $(function () {$(document).on(click, .navbar-nav li a, function (e) {var $parant $(.navbar-nav li).index($(.navbar-nav li.active))var $index $(.navbar-nav li a).index(this)console.log($parant,$index);})})

windows2008下配置iis时出现错误“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。”...

iis7配置php的时候配置完后可以访问php页面&#xff0c;但是重启后就出现403&#xff0c;“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本&#xff0c;请添加处理程序。如果应下载文件&#xff0c;请添加 MIME 映射。” 检查后发现cgi.exe处于禁用状态&…