本文小編為大家詳細(xì)介紹“vue中怎么使用Vue.http.interceptors.push攔截器”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“vue中怎么使用Vue.http.interceptors.push攔截器”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括臨翔網(wǎng)站建設(shè)、臨翔網(wǎng)站制作、臨翔網(wǎng)頁制作以及臨翔網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,臨翔網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到臨翔省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
代碼如下:
import store from './vuex/store' // 全局錯(cuò)誤處理,全局loading import { setLoading, setTip } from './vuex/actions/doc_actions' export default function (request, next) { if (request.tip !== false) { setLoading(store, true) } next((res) => { setLoading(store, false) let data = JSON.parse(res.data) if (res.status === 0) { setTip(store, { text: '網(wǎng)絡(luò)不給力,請稍后再試' }) } if (!data.success) { setTip(store, { text: data.error_msg }) } }) }
這是一個(gè)全局的攔截器。于是搜索vue攔截器的用法,下面這一篇寫的不錯(cuò):
vue-resource 攔截器使用詳解
在vue項(xiàng)目使用vue-resource的過程中,臨時(shí)增加了一個(gè)需求,需要在任何一個(gè)頁面任何一次http請求,增加對token過期的判斷,如果token已過期,需要跳轉(zhuǎn)至登錄頁面。如果要在每個(gè)頁面中的http請求操作中添加一次判斷,那么會(huì)是一個(gè)非常大的修改工作量。那么vue-resource是否存在一個(gè)對于任何一次請求響應(yīng)捕獲的的公共回調(diào)函數(shù)呢?答案是有的!
vue-resource的interceptors攔截器的作用正是解決此需求的妙方。在每次http的請求響應(yīng)之后,如果設(shè)置了攔截器如下,會(huì)優(yōu)先執(zhí)行攔截器函數(shù),獲取響應(yīng)體,然后才會(huì)決定是否把response返回給
then進(jìn)行接收。那么我們可以在這個(gè)攔截器里邊添加對響應(yīng)狀態(tài)碼的判斷,來決定是跳轉(zhuǎn)到登錄頁面還是留在當(dāng)前頁面繼續(xù)獲取數(shù)據(jù)。
下邊代碼添加在main.js中
Vue.http.interceptors.push((request, next) => { console.log(this)//此處this為請求所在頁面的Vue實(shí)例 // modify request request.method = 'POST';//在請求之前可以進(jìn)行一些預(yù)處理和配置 // continue to next interceptor next((response) => {//在響應(yīng)之后傳給then之前對response進(jìn)行修改和邏輯判斷。對于token時(shí)候已過期的判斷,就添加在此處,頁面中任何一次http請求都會(huì)先調(diào)用此處方法 response.body = '...'; return response; }); });
讀到這里,這篇“vue中怎么使用Vue.http.interceptors.push攔截器”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站題目:vue中怎么使用Vue.http.interceptors.push攔截器
文章URL:http://muchs.cn/article40/ihseeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、企業(yè)建站、服務(wù)器托管、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)