在使用vue开发时,官方推荐使用axios来请求接口


//    axios官方地址
https://github.com/axios/axios

但是axios并不像 vue-resource 一样拥有install,即不能直接 Vue.use(axios) 来使用,所以需要我们自己根据axios来写一个具有install方法的Http库。

1.安装axios


npm install axios

2.创建Http.js文件


import axios from 'axios'export default {install (Vue) {//    install方法,向Vue实例中添加一个$http方法Vue.prototype.$http = axiosVue.$http = axios},$http: axios
}export const Http = axios

3.引用


import Vue from 'vue'
import Http from './Http'Vue.use(http)

如此,就可以在vue中直接使用axios了

4.axios拦截器
在开发过程中,会需要设置一些请求头,公共参数等,或者需要对请求结果进行统一处理(例如错误处理),这时候就可以用到axios拦截器

创建interceptor.js文件


import axios from 'axios'let interceptor = ''
export const myInterceptor = interceptor//    设置请求拦截器
export const setInterceptor = function (response) {axios.interceptors.request.use((config) => {config.headers.Authorization = token    //设置请求头Authorizationconfig.headers.Accept = 'application/json'    //设置请求头Accept /*具体配置需要根据实际开发情况来配置*/return config})
}
//    移除请求拦截器
export const clearInterceptor = function () {axios.interceptors.request.eject(myInterceptor)
}

ps:上例只示范了axios的请求拦截,回复拦截时同样的处理方式
ps:在interceptor中暴露myInterceptor、setInterceptor与clearInterceptor 的原因是方便随时取消与设置

5.设置axios默认请求地址


axios.defaults.baseURL = 'http://172.0.0.1'

虽说几乎都是使用webpack代理的方式来配置请求地址,但此方式依然有时会用到

原文地址:https://segmentfault.com/a/1190000017352304

vue + axios---封装一个http请求相关推荐

  1. uni app 调用网络打印机_uni-app封装一个request请求

    在上一篇文章里面,写到使用uni.request请求的方法https://www.jianshu.com/p/bc62c9e1beed getList() { uni.request({url: &q ...

  2. python封装一个requests请求

    python封装一个requests请求 更新:https://blog.csdn.net/qq_42846555/article/details/126401051 from requests im ...

  3. vue axios封装 获取微信公众号用户的openid

    目录 axios封装 openid vue vue+ts axios封装 一般会在项目的src目录中,新建一个文件夹,作为网络请求模块,用来封装axios, 创建axios实例: axios.crea ...

  4. uni-app微信小程序封装一个request请求接口

    在uniapp项目根目录里面新建一个文件 utils: 再新建一个api.js: //你的请求地址(线上或线下) const BASE_URL = 'https://www.baidu.com/' e ...

  5. axios封装_VUE.JS请求工具Axios的封装

    接触vue已经很长时间,也经常使用axios,但是原生封装的方法都很难满足日程开发的需求,所以这期就写一下axios的封装. 作者:陈宝玉啊 转发链接:https://www.jianshu.com/ ...

  6. vue axios封装以及登录token过期跳转问题

    Axios配置JWT/封装插件/发送表单数据 首先请务必已仔细阅读 Axios 文档并熟悉 JWT: 中文文档 JWT 中文文档 安装 npm install axios npm install es ...

  7. Android入门:封装一个HTTP请求的辅助类

    前面的文章中,我们曾经实现了一个HTTP的GET 和 POST 请求: 此处我封装了一个HTTP的get和post的辅助类,能够更好的使用: 类名:HttpRequestUtil 提供了如下功能: ( ...

  8. vue+axios中的get请求传参,post请求头(form/json)不一样的传参的处理

    <script>需要引入 import axios from 'axios' import Qs from 'qs'(如果只是get请求就不需要引qs) 1.正常get请求:      v ...

  9. 用vue自己封装一个分页组件

    准备知识:全局配置组件(本文不赘述,可自行百度) 先来看下效果. 非常简单的效果.事件上仅改变页码,无其他. 1.新建文件pagination.vue.简单解释下:先写DOM结构和样式,接着是事件. ...

最新文章

  1. 在HTML中将垂直转换为平行,大物实验答案
  2. Struts2注册信息验证判断是否符合格式 validation
  3. 一道SQL面试题(行列互换)
  4. PHP中开发的良好习惯总结(持续更新) By ACReaper
  5. java如何去掉html标签_Java后端去掉HTML标签获取纯文本-Fun言
  6. 无连接网络通信程序UDP
  7. c语言水仙花验证,[编程入门]水仙花数判断 (C语言代码)
  8. Linux module 添加到bashrc 和临时ifort编译器 以及python2和3的配置
  9. NE40E面板ALM报警亮灯
  10. 遥感图像计算机自动分类原理,第30讲:8.1遥感图像自动识别分类
  11. 仿微信的网络聊天室项目开发【完整源码讲解】
  12. 请详细解释下小波去噪的原理
  13. 【代码迁移】Git动态更换版本仓库
  14. 信息物理系统-Rijndael加密算法的实现
  15. OpenCV利用鼠标操作测量角度
  16. 苹果发布了没有太多更新的 iOS 13 beta 8;一次编码、到处运行;SwiftUI 的两个特性;如何让网站加载更快...
  17. HFSS学习笔记—11.环形定向耦合器分析
  18. 目标检测论文解读复现之八:基于YOLOv5s的滑雪人员检测研究
  19. 自制WordPress响应式主题-9IPHP 上线了~~
  20. 有一种执行力叫做“海娃”

热门文章

  1. 如何管理大型呼叫中心
  2. 我是如何利用“王宝强离婚”事件来吸粉的
  3. codeforces 700B Connecting Universities
  4. 无法解决 equal to 操作中 SQL_Latin1_General_CP1_CI_AS 和 Chinese_PRC_CI_AS 之间的排序规则冲突。...
  5. debian---nano转VIM
  6. NMSE考试常见问题
  7. 中兴今年的毕业生面试题,给大家参考参考
  8. 自己学习Foundation一些类
  9. 算法(Algorithms)第4版 练习 1.3.11
  10. cenots6 系统服务优化