国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue axios 攔截器

這篇具有很好參考價值的文章主要介紹了Vue axios 攔截器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Vue axios 攔截器,Vue.js,vue.js

正常情況下打開瀏覽器前端頁面向后端發(fā)起請求使用的是axios,無論是原生的axios還是自己封裝的axios都看成是axios。發(fā)起請求之后后端去數(shù)據(jù)庫里面拿數(shù)據(jù),然后返回給前端。

發(fā)起請求的地方是axios,并且你能夠封裝這個axios,那么你就可以添加攔截器。

請求攔截器就是你在發(fā)起請求的時候應(yīng)該做什么事情,響應(yīng)攔截器就是你在接收到這個請求之后應(yīng)該去干什么。

攔截器可以攔截每一次請求和響應(yīng),然后進(jìn)行相應(yīng)的處理。
  • 請求攔截應(yīng)用場景: 發(fā)起請求前添加header

使用最多的場景就是前端調(diào)用后端,后端是有鑒權(quán)邏輯的,前端需要添加一個token。前端在登入的時候就應(yīng)該獲取這個token了,這個token加到url的參數(shù)之內(nèi)。?

響應(yīng)攔截應(yīng)用場景:
  • 統(tǒng)一處理API響應(yīng)狀態(tài)碼200或非200的提示消息,拿到業(yè)務(wù)的狀態(tài)碼。做一些自定義的響應(yīng)配置
  • 統(tǒng)一處理catch異常提示信息

主要去處理響應(yīng)是否成功,拿到返回業(yè)務(wù)狀態(tài)碼的邏輯,這個時候其實(shí)是自定義的響應(yīng),到底業(yè)務(wù)有沒有成功,這決定了你的前端展示。

這些都是優(yōu)先于你的axios.get()/post()去執(zhí)行的,不管是在get/post發(fā)起請求之前還是獲得響應(yīng)之后,你得先經(jīng)過攔截器?。?!不然封裝也沒多大的意義。

import axios from "axios"

const axios_instance = axios.create({
    baseURL: 'http://httpbin.org',
    timeout: 5000,
})

//請求之前要去干什么
//添加請求攔截器,固定寫法,config是接受參數(shù),可以取其他名稱
//能夠利用config的方式去做請求攔截上面的配置
axios_instance.interceptors.request.use(
    config => {
    //在請求之前做的事情,比如添加請求頭
    config.headers['Test-header'] = 'zhangsan'
    return config
},
    error=>{
    //請求發(fā)生了error,處理請求錯誤
    //axios是基于ajax和promise封裝的
    //Promise.reject代表在使用instance發(fā)起請求的時候,失敗了在catch語句中可以獲取
    //.then .catch .finally都是promise提供的能力
    return Promise.reject(error)
 }
)

Vue axios 攔截器,Vue.js,vue.js

?響應(yīng)攔截器文章來源地址http://www.zghlxwxcb.cn/news/detail-765297.html

import axios from "axios"

const axios_instance = axios.create({
    baseURL: 'http://httpbin.org',
    timeout: 5000,
})

//請求之前要去干什么
//添加請求攔截器,固定寫法,config是接受參數(shù),可以取其他名稱
//能夠利用config的方式去做請求攔截上面的配置
axios_instance.interceptors.request.use(
    config => {
    //在請求之前做的事情,比如添加請求頭
    config.headers['Test-header'] = 'zhangsan'
    return config
},
    error=>{
    //請求發(fā)生了error,處理請求錯誤
    //axios是基于ajax和promise封裝的
    //Promise.reject代表在使用instance發(fā)起請求的時候,失敗了在catch語句中可以獲取
    //.then .catch .finally都是promise提供的能力
    return Promise.reject(error)
 }
)


//添加響應(yīng)攔截器,響應(yīng)之后需要干什么
//先在這里處理,最后到你的.vue組件當(dāng)中的.then().catch().finally()中處理
//要先經(jīng)過這個地方
axios_instance.interceptors.response.use(
    response =>{
    //響應(yīng)接收后做的事情,在.then .catch接受之前
    //業(yè)務(wù)層的報錯 
        if(response.data.code != 200){
            alert('數(shù)據(jù)請求失敗')
            return Promise.reject(response)
        }
        return response
    },
    error =>{
        //狀態(tài)碼非200范圍內(nèi)
        return Promise.reject(error)
    }
)

export default axios_instance

到了這里,關(guān)于Vue axios 攔截器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue全家桶進(jìn)階之路47:Vue3 Axios攔截器封裝成request文件

    可以將Axios攔截器封裝成一個單獨(dú)的request文件,以便在整個應(yīng)用程序中重復(fù)使用。 以下是一個示例,展示如何將Axios攔截器封裝成一個request文件: 1、創(chuàng)建一個名為request.js的新文件,并導(dǎo)入Axios: 2、創(chuàng)建一個名為request的函數(shù),并將其導(dǎo)出: 這將創(chuàng)建一個名為request的函數(shù),

    2023年04月21日
    瀏覽(95)
  • vue全家桶進(jìn)階之路46:Vue3 Axios攔截器和globalProperties全局設(shè)置

    在Vue.js 3中,使用Axios與Vue.js 2.x中類似,但是需要進(jìn)行一些修改和更新,下面是Vue.js 3中Axios的定義和使用方式: 首先,你需要安裝Axios和Vue.js 3.x,可以使用npm或yarn等包管理工具安裝: 然后,在你的Vue.js 3應(yīng)用程序中,你可以使用以下代碼來導(dǎo)入和使用Axios: 上面的代碼使用

    2023年04月20日
    瀏覽(21)
  • Vue 網(wǎng)絡(luò)處理 - axios 異步請求的使用,請求響應(yīng)攔截器(最佳實(shí)踐)

    Vue 網(wǎng)絡(luò)處理 - axios 異步請求的使用,請求響應(yīng)攔截器(最佳實(shí)踐)

    目錄 一、axiox 1.1、axios 簡介 1.2、axios 基本使用 1.2.1、下載核心 js 文件. 1.2.2、發(fā)送 GET 異步請求 1.2.3、發(fā)送 POST?異步請求 1.2.4、發(fā)送 GET、POST 請求最佳實(shí)踐 1.3、請求響應(yīng)攔截器 1.3.1、攔截器解釋 1.3.2、請求攔截器的使用 1.3.3、響應(yīng)攔截器的使用 1.3.4、攔截器在 Vue 腳手架中的

    2024年02月04日
    瀏覽(22)
  • Axios基本使用,為學(xué)習(xí)后續(xù)的Vue服務(wù)【發(fā)送請求+并發(fā)請求+前端攔截器】

    目錄 1、項(xiàng)目中引入Axios 2、使用Axios發(fā)送請求 2.1、例:發(fā)送GET請求 2.2、例:發(fā)送POST請求 3、axios并發(fā)請求 4、攔截器 注:個人學(xué)習(xí)筆記,因自己學(xué)過后端,所以有關(guān)后端的代碼,我在這里就不展示了~ 不了解后端的寶子,也不會耽誤學(xué)習(xí),因?yàn)楣纠飼袑懞玫慕涌谖臋n,直

    2024年02月02日
    瀏覽(55)
  • Vue3 axios響應(yīng)攔截器處理接口返回401未登錄跳轉(zhuǎn)登錄頁

    問題: 在 asiox 使用 useRouter 實(shí)例化創(chuàng)建 router 路由對象,在 response 響應(yīng)攔截器里為 undefined 訪問不到 使用 window.location.href = \\\'/login\\\' 跳轉(zhuǎn)登錄頁, 本地可以正常跳轉(zhuǎn),測試環(huán)境頁面會顯示 not found 404, 測試環(huán)境訪問地址大概是這樣 ip:8080/pm/#/login , 本地沒有 /pm 解決方案: 在 mai

    2024年01月21日
    瀏覽(22)
  • 報錯 “Required request body is missing: public“ 的解決方案以及注意點(diǎn)(Vue, axios攔截器)

    報錯 “Required request body is missing: public“ 的解決方案以及注意點(diǎn)(Vue, axios攔截器)

    在使用axios攔截器時,返回500,報了\\\"Required request body is missing: public\\\"的錯誤,我的攔截器是這么寫的,參考了以下鏈接: http://www.45fan.com/article.php?aid=1D2dBLoGSZ31XuGv#_label1 我這里的基礎(chǔ)地址在我本地?fù)Q成了接口的域名地址。 然后在api/index.js的文件里面,這樣應(yīng)用的:? 然后報錯

    2024年02月10日
    瀏覽(38)
  • VUE3 請求攔截器 響應(yīng)攔截器

    1,導(dǎo)入axios? (使用axios進(jìn)行接口的請求,頁面發(fā)送http請求,很多情況我們要對請求和其響應(yīng)進(jìn)行特定的處理,如:判斷token,設(shè)置請求頭。如果請求數(shù)非常多,單獨(dú)對每一個請求進(jìn)行處理會變得非常麻煩,程序的優(yōu)雅性也會大打折扣。所以axios為開發(fā)者提供了這樣一個API:攔

    2024年02月16日
    瀏覽(25)
  • Vue 攔截器原理和詳細(xì)使用

    Vue 攔截器原理和詳細(xì)使用

    攔截器原理和作用 首先攔截器在src/utils/request.js 文件中,攔截器分為請求攔截器和響應(yīng)攔截器。 頁面中的每一個請求都會經(jīng)過請求攔截和響應(yīng)攔截,所以一般在這個文件進(jìn)行操作。 這一文件一般引入axios,vuex,Message,router 和相關(guān)方法 ,基地址+攔截器。 請求攔截器:Toke

    2024年02月16日
    瀏覽(17)
  • axios攔截器

    一般在項(xiàng)目中,發(fā)送http請求時會對請求和響應(yīng)進(jìn)行一些特定的處理:判斷token,設(shè)置請求頭等,如果要挨個對每個請求都做處理的話太麻煩,方便起見,axios提供了攔截器。 axios攔截器分為請求攔截器和響應(yīng)攔截器: 請求攔截器 響應(yīng)攔截器 也可以移除攔截器 可以自定義axi

    2024年02月11日
    瀏覽(26)
  • Vue3---請求攔截器攜帶token

    為什么要在請求攔截器攜帶Token? Token作為用戶標(biāo)識,在很多個接口中都需要攜帶Token才可以正確獲取數(shù)據(jù),所以需要在接口調(diào)用時攜帶Token。另外,為了統(tǒng)一控制采取請求攔截器攜帶的方案 如何配置? Axios請求 攔截器 可以在接口正式發(fā)起之前對請求參數(shù)做一些事情,通常Toke

    2024年02月15日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包