当前位置:主页 > 查看内容

vue基础整理之axios请求二次封装

发布时间:2021-08-04 00:00| 位朋友查看

简介:npm install axios --save 在项目中引入 axios第三方插件 在项目中建立一个App.js 当然 名字可以随意取 导入import axios from ‘axios’; //在vue原型链中封装post请求方法 function createService ( ) { // 创建一个 axios 实例 const service axios . cre……

npm install axios --save 在项目中引入 axios第三方插件
在项目中建立一个App.js 当然 名字可以随意取
导入import axios from ‘axios’;

//在vue原型链中封装post请求方法
function createService () {
    // 创建一个 axios 实例
    const service = axios.create()
    // 请求拦截
    service.interceptors.request.use(
        //发送成功
        config => {
            //可在此配置请求头信息
            config.headers.Authorization = "项目token";
            return config
        },
        //发送失败
        error => {
            return error
        }
    )
    //响应拦截
    service.interceptors.response.use(
        //请求成功
        response => {
             //抛出返回值
             return response;
        },
        //请求失败
        (error, response) => {
            //返回错误信息
            return error;
        }
    )
    //抛出对象
    return service
}

在建立发送请求的方法

function createRequestFunction (service) {
       return function (config) {
        const configDefault = {
        headers: {
	          Authorization:"",
	          'Content-Type':'application/json'
        },
        timeout: 100000,
        baseURL: process.env.VUE_APP_API,
        data: {}
      }
      return service(Object.assign(configDefault, config))
    }
  }

最后我们将方法挂在Eventbus里 方便全局调用

export const service = createService()
Vue.prototype.request = createRequestFunction(service);
;原文链接:https://blog.csdn.net/weixin_45966674/article/details/115833106
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐