封装axios
import axios from 'axios'
// import store from '@/vuex/store.js'
import router from '../router'
import qs from 'qs' const instance = axios.create({}); instance.defaults.baseURL = 'http://mini.youhulianchuang.com';
instance.defaults.timeout = 5000;
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
instance.defaults.headers.post['X-Requested-With'] = 'XMLHttpRequest';
instance.defaults.headers.post['top-token'] = 'top-token';
instance.defaults.responseType = 'json'; // 请求拦截
instance.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
console.log('请求拦截')
console.log(config)
return config; }, function (error) {
// 对请求错误做些什么
// alert('网络错误,请稍后再试'); }); // 对传给后台的数据做统一的操作
instance.defaults.transformRequest=[function (data) {
// 对 data 进行任意转换处理 Object.assign(data,{age:21})
console.log(data)
return data; }] // `transformResponse` 在传递给 then/catch 前,允许修改响应数据
instance.defaults.transformResponse=[function (data) {
// 对 data 进行任意转换处理
console.log(data) return data;
}] // 添加响应拦截器
instance.interceptors.response.use(function (response) {
console.log('添加响应拦截器')
console.log(response)
return response.data; }, function (error) {
// 对响应错误做点什么 if(error.response) { }
// return Promise.reject(error);
}); export default {
install: function(vm){
vm.prototype.$instance = instance;
}
2、调用
在main.js中引入封装文件并当作vue插件使用
import Utile from './lib/utils'
Vue.use(Utile)
3、在模块中使用get请求
this.$instance.get(`Employee/Detail/${this.$route.query.userId}`
).then((res)=>{
console.log(res.data)
if(res.data.code == 0){
操作
}
else{
}
})
4、在模块中使用post请求
this.$instance.post("/enumList",
params).then(({ data: { data = []} = {} })=>{
console.log(data)
})
.catch((error) =>{
console.log(error);
});
})
注:params是参数
封装axios的更多相关文章
- 【转】Vue 2.0封装axios笔记
前言 单页面应用大多采用前后端分离开发思路,我们知道,前端和后端交互有多中方式(服务器端渲染.Ajax.websocket等),今天我们主要讲解Ajax部分. 最近团队讨论了一下,Ajax 本身跟 V ...
- Vue笔记:封装 axios 为插件使用
前言 自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解.使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗 ...
- 封装axios方法之一
一.先来说说为什么要封装axios异步请求. 我们前端开发中总是会遇到跨域的问题,我们会配置proxy来解决跨域的问题,无论是vue 还是react. 如何配置我这里就不说了. 然后...然后我们就会 ...
- vue 封装axios以及使用中间代理 proxy
为什么需要封装呢?主要是为了更好管理项目以及增加复用性 1.首先在src文件夹下创建api文件夹 . utils文件夹 . server文件夹 api:创建一个index.js文件 用来存放接口地 ...
- 15、vue项目封装axios并访问接口
1.在src下新建util文件夹,在util下新建request.js文件: 封装axios: import axios from 'axios' import QS from 'qs'; // im ...
- Vue中封装axios
参考: https://www.jianshu.com/p/7a9fbcbb1114 https://www.cnblogs.com/dreamcc/p/10752604.html 一.安装axios ...
- Vue 封装axios(四种请求)及相关介绍(十三)
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- 创建Vue项目及封装axios
1. 始vue化项目 https://www.cnblogs.com/xiaonq/p/11027880.html vue init webpack deaxios # 使用脚手架创建项目 deaxi ...
- 封装axios在util中
创建util工具类,封装通用的get和post请求 封装axios成工具类,方便大家请求调用 1.创建util文件夹 2.创建request.js 3.封装 //封装请求相关方法 //初始化一个axi ...
随机推荐
- Gitlab_ansible_jenkins三剑客①搭建gitlab的详细步骤
环境准备 1.关闭selinux和防火墙 [root@node1 lesson2]# vim /etc/sysconfig/selinux SELINUX=disabled # systemctl s ...
- SP283 NAPTIME - Naptime
SP283 NAPTIME - Naptime 题意: 在某个星球上,一天由N小时构成.我们称0-1点为第一个小时,1-2点为第二个小时,以此类推.在第i个小时睡觉能恢复Ui点体力.在这座星球上住着一 ...
- python的学习之路(二)
1.字符串内置功能练习#!/usr/bin/env python# *_*coding:utf-8 *_*# Author: harsonname = 'harson'name =str('harso ...
- CAS5.3.0安装部署
部署环境:JDK1.8.x maven-3.5.2 tomcat-8.x.x 1.下载地址 https://github.com/apereo/cas-overlay-template/tree/5. ...
- Flink写入kafka时,只写入kafka的部分Partitioner,无法写所有的Partitioner问题
1. 写在前面 在利用flink实时计算的时候,往往会从kafka读取数据写入数据到kafka,但会发现当kafka多个Partitioner时,特别在P量级数据为了kafka的性能kafka的节点有 ...
- Redis持久化之RDB
本文及后续文章,Redis版本均是v3.2.8 上篇文章介绍了RDB的优缺点,我们先来回顾下RDB的主要原理,在某个时间点把内存中所有数据保存到磁盘文件中,这个过程既可以通过人工输入命令执行,也可以让 ...
- systemd-unit
参考: systemd unit 中文手册
- 我的Python笔记04
摘要: 声明:本文整理借鉴金角大王的Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件 ...
- Tomcat7配置Https
使用的是UCloud的免费证书: 教程: https://docs.ucloud.cn/security/ussl/index 购买证书的地址: https://console.ucloud.cn/u ...
- Map接口下的集合和泛型理解
一.Map接口 1. Map接口就是最顶层了,上面没有继承了.Map是一个容器接口,它与前面学的List.Set容器不同的是前面学的这些容器,一次只能传入一个元素,但是Map容器一次可以传入一对元素( ...