一,安装

  npm install axios

二,在http.js中引入

  import axios from 'axios';

三,定义http request 拦截器,添加数据请求公用信息

 1 axios.interceptors.request.use(2     config => {3         // const token = getCookie('名称');注意使用的时候需要引入cookie方法,推荐js-cookie4         //config.data = JSON.stringify(config.data);5         let token = localStorage.token;6         //let token = 'xxx';7         let appid = 'xxx';8         let appID = decodeURIComponent(appid);9         config.headers.token = token;
10         //config.headers['Content-Type'] = 'application/x-www-form-urlencoded';
11
12         if (config.method == 'get') {
13             config.params.app_id = appID
14             config.params.token = token
15         }
16         if (config.method == 'post') {
17             config.data.token = token
18             config.data.app_id = appID
19         }
20
21         return config;
22     },
23     error => {
24         return Promise.reject(err);
25     }
26 );

四,封装get方法

export function get(url, params = {}) {return new Promise((resolve, reject) => {axios.get(url, {params: params}).then(response => {resolve(response.data);}).catch(err => {reject(err)})})
}

五,封装post方法

export function post(url, params = {}) {return new Promise((resolve, reject) => {axios.post(url, params).then(response => {resolve(response.data);}, err => {reject(err)})})
}

六,封装patch请求

export function patch(url, data = {}) {return new Promise((resolve, reject) => {axios.patch(url, data).then(response => {resolve(response.data);}, err => {reject(err)})})
}

七,封装put请求

export function put(url, data = {}) {return new Promise((resolve, reject) => {axios.put(url, data).then(response => {resolve(response.data);}, err => {reject(err)})})
}

八,实现跨域

1 const downloadUrl = url => {
2     let iframe = document.createElement('iframe')
3     iframe.style.display = 'none'
4     iframe.src = url
5     iframe.onload = function() {
6         document.body.removeChild(iframe)
7     }
8     document.body.appendChild(iframe)
9 }

九,方法的使用

  在main.js里引入http.js

  

1 import Vue from 'vue'
2 import App from './App'
3 import router from './router'
4 import axios from 'axios'
5 import {get, post } from '@/utils/http'
6
7 Vue.prototype.$ajax = axios;
8 Vue.prototype.$post = post;
9 Vue.prototype.$get = get;

  在需要调用的地方

  

this.$get(url).then((response) => {}
})
this.$post(url, data).then((response) => {}
})
this.$put(url, data).then((response) => {}
})
this.$patch(url, data).then((response) => {}
})

VUE2中axios的使用方法相关推荐

  1. vue2中axios封装

    一.先创建三个文件: api.js 存放接口列表的 http.js 封装axios的 config.js axios的一些配置项 二.config.js 一些基础的配置,如果有其他需求可以自己添加 / ...

  2. vue2中使用axios,以及axios拦截器的配置

    目录 一.vue2项目中如何实现异步请求 1.axios:是一个基于Promise的网络请求库.既可以在node.js(服务器端)使用,也可以在浏览器端使用 2.vue中的使用方法 ​ (2)引用方法 ...

  3. vue2 通过 axios  访问koa2,从mysql 拿到数据更新vue2中的内容

    vue2 通过 axios  访问koa2,从mysql 拿到数据更新vue2中的内容 axios 类似ajax 注意红色字体 node --inspect index.js (启用debug模式) ...

  4. vue2中vant实现网易云音乐案例-附带所有源码

    vue2中vant实现网易云音乐案例-附带所有源码 前言 学习笔记以及源码下载gitee: https://gitee.com/xingyueqianduan/vantmsicdemo 下载下来的内容 ...

  5. Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决

    文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...

  6. 总结: Vue2中基础语法(五)

    总结: vue2中的基础语法(一) 总结: vue2中的基础语法(二) 总结: vue2中的基础语法(三) 总结: vue2中的基础语法(四) 目录 1.vue项目中使用vuex 2.vuex定义公共 ...

  7. axios get 某个参数是数组怎么传_Vue 中 Axios 的封装和 API 接口的管理

    我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护. 一.axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios ...

  8. 拦截器读post参数导致接口post请求报错_vue中Axios的封装和API接口的管理

    一.axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中.他有很多优秀的特性,例如拦截请求和响 ...

  9. $.post请求的参数在后台代码中得到为null_vue中Axios的封装和API接口的管理

    来源:愣锤 https://juejin.im/post/684490365288107214 如图,面对一团糟代码的你~~~真的想说,What F~U~C~K!!! 回归正题,我们所要的说的axio ...

最新文章

  1. UVA 11491 Erasing and Winning 奖品的价值 (贪心)
  2. 粒子滤波 演示与opencv代码
  3. 欲了解Android Studio,必先知道Gradle
  4. java基础(参数传递)
  5. android源码查看源码的版本
  6. Java的语法格式是什么?有哪些需要注意?
  7. MVVM架构~knockoutjs系列之验证信息自定义输出~再续
  8. 云小课|ModelArts Pro 视觉套件 零代码构建视觉AI应用
  9. 混合使用Objective-C,C++和Objective-C++
  10. fread读取同一个文件得到缓冲区大小不同_缓冲区——计算机科学
  11. JMETER 用户自定义的变量
  12. 决定要放下的人,要不要好好道个别?
  13. 【转】jvm内存结构
  14. 大数据论坛圆满落幕 开启海南房地产大数据时代
  15. 2019年7月2日 星期二(韩天峰的建议)
  16. 在MQTT中使用SSL/TLS提高安全性
  17. dnf剑魂buff等级上限_DNF体验服快讯—剑魂加入25开关/25仔变34仔/国庆版本内容前瞻...
  18. STM32:USART串口外设(内含:1.USART简介+2.USART基本结构+3.数据帧+4.起始位侦测+5.数据采样+6.波特率发生器)
  19. 关于log4j日志打印堆栈的记录
  20. 云服务器上搭建个人云笔记——leanote

热门文章

  1. Java学习系列(十二)Java面向对象之序列化机制及版本
  2. CentOS 7 配置yum本地base源和阿里云epel源
  3. Lapack求解线性方程组
  4. 使用GCC和GNU Binutils编写能在x86实模式运行的16位代码
  5. 19. yum 常用命令《Mr.Robot》
  6. NGINX 实现反向代理负载均衡服务器
  7. 项目人力资源管理重点梳理
  8. 分享一些android的资料 很实用
  9. Document cookie属性
  10. 电脑小白和黑客的对白