欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解axios全局路由攔截的設(shè)置方法

 更新時(shí)間:2023年09月28日 09:19:19   作者:kingtopest  
這篇文章主要介紹了axios全局路由攔截的設(shè)置方法,axios全局路由代碼通常是在構(gòu)建axios實(shí)例注入的,本文通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一個(gè)項(xiàng)目中如果http請(qǐng)求發(fā)生了錯(cuò)誤/異常,比如返回碼4xx(表示沒(méi)有授權(quán),登錄過(guò)期等),我們希望能夠在axios在第一時(shí)間就能攔截獲取到,然后直接提示報(bào)錯(cuò)的錯(cuò)誤信息,而不是在發(fā)起請(qǐng)求的地方,單獨(dú)去做判斷,這樣效率太低。

所以這個(gè)時(shí)候,axios全局路由攔截就登場(chǎng)了:

axios全局路由代碼通常是在構(gòu)建axios實(shí)例注入的,下面就是代碼模板:

const instance = axios.create({}) 
instance.interceptors.response.use(
// 回調(diào)函數(shù)1: 入?yún)⑹钦?qǐng)求成功時(shí)的返回結(jié)果:response
  (response) => {    
     // 請(qǐng)求正常時(shí)的代碼塊
    return response
  },
// 回調(diào)函數(shù)2: 入?yún)⑹钦?qǐng)求失敗時(shí)的返回錯(cuò)誤: error
  (error ) => {
      // 請(qǐng)求發(fā)生錯(cuò)誤時(shí)的代碼塊。
  }
);

下面是一個(gè)應(yīng)用實(shí)例中的代碼:

import axios  from "axios";
import { message } from "antd"
import { useNavigate } from "react-router-dom";
const baseURL = "xxxxx"
// 創(chuàng)建axios實(shí)例
const instance = axios.create({
  baseURL,
  headers: {
    "Authorization": "xxxxxxxxx",   
  },
});
const navigate = useNavigate();
// 設(shè)置axios全局路由攔截
instance.interceptors.response.use(
  (response) => {    
    return response;
  },
  (error ) => {
    if (!error.response) {
      message.error("網(wǎng)絡(luò)異常", 3);
    } else if ( error.response.status != 200) {
      console.log(error.response);
      error.response.data.err? message.error(error.response.data.err,3): null;   
      navigate("/signin");
       }
     }
  }
);

 總結(jié):axios全局路由攔截的設(shè)置方法分為兩步:

1.  通過(guò) axios.create方法創(chuàng)建axios實(shí)例

2.  通過(guò)axios實(shí)例的interceptors.response.use方法創(chuàng)建攔截規(guī)則,這個(gè)方面里面有兩個(gè)回調(diào)函數(shù)

      a. 回調(diào)函數(shù)1: 入?yún)⑹钦?qǐng)求成功時(shí)的返回結(jié)果:response

      b. 回調(diào)函數(shù)2: 入?yún)⑹钦?qǐng)求失敗時(shí)的返回錯(cuò)誤: error

到此這篇關(guān)于axios全局路由攔截的設(shè)置方法的文章就介紹到這了,更多相關(guān)axios全局路由攔截內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue+node實(shí)現(xiàn)音頻錄制播放功能

    Vue+node實(shí)現(xiàn)音頻錄制播放功能

    這篇文章主要介紹了Vue+node實(shí)現(xiàn)音頻錄制播放,功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • vue css 引入asstes中的圖片無(wú)法顯示的四種解決方法

    vue css 引入asstes中的圖片無(wú)法顯示的四種解決方法

    這篇文章主要介紹了vue css 引入asstes中的圖片 無(wú)法顯示的幾種解決方案,本文給出了四種解決方法,每種方法給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Vue指令的學(xué)習(xí)

    Vue指令的學(xué)習(xí)

    這篇文章主要介紹了Vue指令,Vue官網(wǎng)一共有提供了14個(gè)指令,下面我們就來(lái)詳細(xì)講解每一個(gè)指令的詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • Vue2.0用 watch 觀察 prop 變化(不觸發(fā))

    Vue2.0用 watch 觀察 prop 變化(不觸發(fā))

    本篇文章主要介紹了Vue2.0用 watch 觀察 prop 變化(不觸發(fā)),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-09-09
  • 解決vuex改變了state的值,但是頁(yè)面沒(méi)有更新的問(wèn)題

    解決vuex改變了state的值,但是頁(yè)面沒(méi)有更新的問(wèn)題

    這篇文章主要介紹了解決vuex改變了state的值,但是頁(yè)面沒(méi)有更新的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • vue中關(guān)閉eslint的方法分析

    vue中關(guān)閉eslint的方法分析

    這篇文章給大家講述了vue中關(guān)閉eslint的方法內(nèi)容,有需要的讀者們可以參考學(xué)習(xí)下。
    2018-08-08
  • vue-cli系列之vue-cli-service整體架構(gòu)淺析

    vue-cli系列之vue-cli-service整體架構(gòu)淺析

    這篇文章主要介紹了vue-cli系列之vue-cli-service整體架構(gòu)淺析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • vue3+ts出現(xiàn)白屏問(wèn)題的解決方法詳解

    vue3+ts出現(xiàn)白屏問(wèn)題的解決方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue3+ts出現(xiàn)白屏問(wèn)題的原因與解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • 快速解決vue-cli在ie9+中無(wú)效的問(wèn)題

    快速解決vue-cli在ie9+中無(wú)效的問(wèn)題

    今天小編就為大家分享一篇快速解決vue-cli在ie9+中無(wú)效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Vue學(xué)習(xí)筆記之跨域的6種解決方案

    Vue學(xué)習(xí)筆記之跨域的6種解決方案

    在前后端分離項(xiàng)目中,跨域是一定會(huì)出現(xiàn)的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Vue學(xué)習(xí)筆記之跨域的6種解決方案,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04

最新評(píng)論