码迷,mamicode.com
首页 > 移动开发 > 详细

vue封装axios

时间:2021-06-02 14:43:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:const   log   end   rmi   deb   ice   url   roc   RoCE   

新建 axios.js 放入libs目录下

import qs from ‘qs‘;
// create an axios instance
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  // withCredentials: true, // send cookies when cross-domain requests
  timeout: 0 // request timeout
})

// request interceptor
service.interceptors.request.use(
  config => {
    // do something before request is sent
    if (config.headers[‘Content-Type‘] && config.headers[‘Content-Type‘].includes(‘application/x-www-form-urlencoded‘)) {
      config.data = qs.stringify(config.data)
    }
    if(config.baseKey){
      config.baseURL=process.env[config.baseKey]
    }
    return config
  },
  error => {
    // do something with request error
    console.log(error) // for debug
    return Promise.reject(error)
  }
)

// response interceptor
service.interceptors.response.use(
  /**
   * If you want to get http information such as headers or status
   * Please return  response => response
  */

  /**
   * Determine the request status by custom code
   * Here is just an example
   * You can also judge the status by HTTP Status Code
   */
  response => {
    const res = response.data

    return res

  },
  error => {
    console.log(‘err‘ + error) // for debug
    return Promise.reject(error)
  }
)

export default service```
**调用时将请求import到文件** ``import request from ‘@/libs/axios‘`` 
**定义请求方法** ``
export const functionName= (params) => {
  return request({
    url: ‘路径‘,
    method: ‘GET‘,
    params,
    headers: {}
  })
}``

vue封装axios

标签:const   log   end   rmi   deb   ice   url   roc   RoCE   

原文地址:https://www.cnblogs.com/respect-li/p/14823108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!