axios簡(jiǎn)單封裝使用

1.安裝并引入

yarn add axios
import axios from 'axios' //在js文件中引入

2.配置

axios.defaults.timeout = 5000
axios.defaults.baseURL = 'http://localhost:8080'
axios.defaults.withCredentials = true

3.請(qǐng)求攔截與響應(yīng)攔截

// 請(qǐng)求攔截
axios.interceptors.request.use(
  config => {
    // 配置通用參數(shù)
    return config
  },
  err => {
    return Promise.reject(err)
  }
)

// 響應(yīng)攔截
axios.interceptors.response.use(
  response => {
    if (response) {
      // 響應(yīng)處理
    }
    return response
  },
  error => {
    return Promise.reject(error.response.data)
  }
)

4.封裝get post put delete請(qǐng)求

/**
 * get請(qǐng)求
 * @param url
 * @param params
 * @returns {Promise}
 */
const get = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.get(url, {
        params: params
      })
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

/**
 * post請(qǐng)求
 * @param url
 * @param params
 * @returns {Promise}
 */
const post = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.post(url, params)
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

/**
 * put請(qǐng)求
 * @param url
 * @param params
 * @returns {Promise}
 */
const put = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.put(url, params)
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

/**
 * delete請(qǐng)求
 * @param url
 * @param params
 * @returns {Promise}
 */
const del = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.delete(url, {
        data: params
      })
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

5.導(dǎo)出

export default {
  get,
  post,
  put,
  del
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,940評(píng)論 1 92
  • 你的問(wèn)候明明很善良 為何我聽(tīng)了 如同 萬(wàn)箭穿心 你的提醒很友好 為何我見(jiàn)了你 就想逃 孩子 好孕 終是我心頭最痛 ...
    釀一壺歲月的酒閱讀 155評(píng)論 0 0
  • 初中畢業(yè)后就一直在上海發(fā)展,從事汽車方面的工作。那時(shí)的我18歲,多么好的年紀(jì),在這個(gè)情竇初開(kāi)的年紀(jì)。我的心思都...
    酷酷的雷閱讀 206評(píng)論 0 0

友情鏈接更多精彩內(nèi)容