博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue + axios---封装一个http请求
阅读量:6482 次
发布时间:2019-06-23

本文共 1335 字,大约阅读时间需要 4 分钟。

在使用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 = axios        Vue.$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    //设置请求头Authorization        config.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代理的方式来配置请求地址,但此方式依然有时会用到

原文地址:

转载地址:http://ajbuo.baihongyu.com/

你可能感兴趣的文章
APUE笔记七
查看>>
天兔监控安装
查看>>
python笔记-正则表达式
查看>>
Java二进制指令代码解析
查看>>
我的Python学习记录
查看>>
quzatz --Could not load org.quartz.spi.Trigge...
查看>>
qml实现窗口的拖拽效果
查看>>
Centos安装Mysql
查看>>
android Looper 非UI线程中更新UI
查看>>
js if语句多个条件判断
查看>>
AVPacketList结构体和AVPacketQueue结构体
查看>>
PHP操作redis详细讲解
查看>>
Android学习笔记(一)
查看>>
Java 提高篇(一)
查看>>
虚拟化学习笔记
查看>>
浏览器的兼容性问题
查看>>
我的友情链接
查看>>
今天真的搬走了
查看>>
PC散热风扇之研究一:风扇种类介绍
查看>>
关于Session和Cookie简单实例
查看>>