最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中request.js封裝及調(diào)用示例詳解

 更新時間:2023年09月05日 16:07:28   作者:ClearBoth  
這篇文章主要為大家介紹了Vue中request.js封裝及調(diào)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

request.js封裝

import axios, { AxiosRequestConfig } from "axios";
import qs from "qs";
// 創(chuàng)建axios實例
const instance = axios.create({
  baseURL: process.env.VUE_APP_BASEURL,
  timeout: 6000,
  // headers: {
  //   "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
  // token:
  //   "MTY1Mjk1Mjg4OC42ODM2Nzg0JjJkNzUyOWQwOWU3NTU2OTE0OTU4NzI3ODUxNzkwYTNjZGMwZmRjNjAzNGQ4MGE1YzFkODE1NGVmYzk4MmMyYjM=",
  // },
});
// 請求攔截器
instance.interceptors.request.use(
  (config) => {
    // 請求頭和token判斷等
    return config;
  },
  (err) => {
    return Promise.reject(err);
  }
);
//響應攔截器
instance.interceptors.response.use(
  (res) => {
    return res.data;
  },
  (error) => {
    if (error && error.response) {
      switch (error.response.status) {
        case 400:
          error.message = "請求錯誤(400)";
          break;
        case 401:
          error.message = "未授權(quán),請登錄(401)";
          break;
        case 403:
          error.message = "拒絕訪問(403)";
          break;
        case 404:
          error.message = `請求地址出錯: ${error.response.config.url}`;
          break;
        case 405:
          error.message = "請求方法未允許(405)";
          break;
        case 408:
          error.message = "請求超時(408)";
          break;
        case 500:
          error.message = "服務器內(nèi)部錯誤(500)";
          break;
        case 501:
          error.message = "服務未實現(xiàn)(501)";
          break;
        case 502:
          error.message = "網(wǎng)絡錯誤(502)";
          break;
        case 503:
          error.message = "服務不可用(503)";
          break;
        case 504:
          error.message = "網(wǎng)絡超時(504)";
          break;
        case 505:
          error.message = "HTTP版本不受支持(505)";
          break;
        default:
          error.message = `連接錯誤: ${error.message}`;
      }
    } else {
      if (error.message == "Network Error")
        error.message == "網(wǎng)絡異常,請檢查后重試!";
        error.message = "連接到服務器失敗,請聯(lián)系管理員";
    }
    return Promise.reject(error);
  }
);
//get請求
export function get(url: string, params = {}) {
  return new Promise((resolve, reject) => {
    instance
      .get(url, {
        params: params,
      })
      .then((response) => {
        resolve(response);
      })
      .catch((err) => {
        reject(err);
      });
  });
}
//post請求
export function post(url: string, params = {}) {
  return new Promise((resolve, reject) => {
    instance
      .post(url, qs.stringify(params))
      .then((response) => {
        resolve(response);
      })
      .catch((err) => {
        reject(err);
      });
  });
}
// delete請求
export function deleteFn(url: string, params: AxiosRequestConfig<any> | undefined) {
  return new Promise((resolve, reject) => {
    instance
      .delete(url, params)
      .then((response) => {
        resolve(response);
      })
      .catch((err) => {
        reject(err);
      });
  });
}
// put請求
export function put(url: string, params: any) {
  return new Promise((resolve, reject) => {
    instance
      .put(url, qs.stringify(params))
      .then((response) => {
        resolve(response);
      })
      .catch((err) => {
        reject(err);
      });
  });
}
export default instance;

調(diào)用

import { get, post, deleteFn, put } from "../utils/request";
export const login_api = (params: {} | undefined) => {
  return get("/XXXX/xxx", params);
};

在.vue中使用之前先import進來就可以了

以上就是Vue中request.js封裝及調(diào)用示例詳解的詳細內(nèi)容,更多關(guān)于Vue request.js封裝的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue實例掛載的全流程詳解

    Vue實例掛載的全流程詳解

    理解?Vue?實例的掛載過程,不僅有助于我們更好地掌握?Vue?的核心原理,還能提高我們在開發(fā)中的調(diào)試和優(yōu)化能力,下面就跟隨小編一起學習一下吧
    2024-12-12
  • vue項目中常見問題及解決方案(推薦)

    vue項目中常見問題及解決方案(推薦)

    這篇文章主要介紹了vue項目中常見問題及解決方案,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • vue實現(xiàn)戶籍管理系統(tǒng)

    vue實現(xiàn)戶籍管理系統(tǒng)

    這篇文章主要介紹了Vue實現(xiàn)戶籍管理系統(tǒng),戶籍信息的添加與刪除,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 使用ElementUI中el-upload上傳文件轉(zhuǎn)base64格式

    使用ElementUI中el-upload上傳文件轉(zhuǎn)base64格式

    這篇文章主要介紹了使用ElementUI中el-upload上傳文件轉(zhuǎn)base64格式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • vue項目出現(xiàn)頁面空白的解決方案

    vue項目出現(xiàn)頁面空白的解決方案

    今天小編就為大家分享一篇vue項目出現(xiàn)頁面空白的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • vue3中使用v-model實現(xiàn)父子組件數(shù)據(jù)同步的三種方案

    vue3中使用v-model實現(xiàn)父子組件數(shù)據(jù)同步的三種方案

    這篇文章主要介紹了vue3中使用v-model實現(xiàn)父子組件數(shù)據(jù)同步的三種方案,如果只有一個匿名v-model的傳遞的話,可以使用vue3.3新添加的編譯宏,defineModel來使用,每種方案結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • vue中組件之間相互通信傳值的幾種方法詳解

    vue中組件之間相互通信傳值的幾種方法詳解

    這篇文章主要為大家詳細介紹了vue中組件之間相互通信傳值的幾種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 關(guān)閉eslint檢查和ts檢查的簡單步驟記錄

    關(guān)閉eslint檢查和ts檢查的簡單步驟記錄

    這篇文章主要給大家介紹了關(guān)于關(guān)閉eslint檢查和ts檢查的相關(guān)資料,eslint是一個JavaScript的校驗插件,通常用來校驗語法或代碼的書寫風格,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • vue2.0基于vue-cli+element-ui制作樹形treeTable

    vue2.0基于vue-cli+element-ui制作樹形treeTable

    這篇文章主要介紹了vue2.0基于vue-cli+element-ui制作樹形treeTable,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • vue-cli3.0使用及部分配置詳解

    vue-cli3.0使用及部分配置詳解

    這篇文章主要介紹了vue-cli3.0使用及部分配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08

最新評論

新安县| 林州市| 邳州市| 株洲市| 太白县| 宁津县| 尚义县| 淮安市| 棋牌| 兴隆县| 许昌县| 中牟县| 南木林县| 边坝县| 陵水| 定日县| 深圳市| 朝阳市| 阿巴嘎旗| 杭锦后旗| 临猗县| 宜宾县| 安溪县| 米林县| 乐清市| 安国市| 抚松县| 平武县| 托克托县| 茂名市| 新源县| 延庆县| 长丰县| 隆昌县| 措勤县| 汕尾市| 安顺市| 平定县| 松原市| 忻州市| 贵定县|