亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 微信小程式 小程式開發(fā) vue攔截器相容性處理

vue攔截器相容性處理

Jun 04, 2018 pm 03:15 PM
ie 相容性

這次帶給大家vue攔截器相容性處理,使用vue攔截器相容的注意事項有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

專案中使用vue建立前端頁面,並透過axios請求後臺api接口,完成資料互動。如果驗證口令token寫在每次的介面中,也是個不小的體力活,而且也不靈活。這裡分享使用vue自備攔截器,為每次請求的頭部添加token,而且相容了IE9。

import?axios?from?'axios';
//?這里的config包含每次請求的內(nèi)容,在這里把token放到請求頭
axios.interceptors.request.use(function?(config)?{?
??let?token?=?window.localStorage.getItem("tokenid");?//從緩存中取token
??if?(token)?{
????config.headers.Authorization?=?token;??//將token放到請求頭發(fā)送給服務(wù)器
????//這里主要是為了兼容IE9
????var?browser?=?navigator.appName;
????var?b_version?=?navigator.appVersion;
????if?(browser?==?'Netscape'?&&?b_version.indexOf(';')?< 0) { //火狐
    } else {
      if (b_version.indexOf(&#39;;&#39;) < 0) {
        return config;
      }
      var version = b_version.split(";");
      var trim_Version = version[1].replace(/[ ]/g, "");
      if (browser == "Microsoft Internet Explorer" && trim_Version == "MSIE9.0") { //IE9
        if (config.url.indexOf(&#39;?&#39;) >?0)?{
??????????config.url?=?config.url?+?"&token="?+?JSON.parse(token).value;
????????}
????????else?{
??????????config.url?=?config.url?+?"?token="?+?JSON.parse(token).value;
????????}
??????}
????}
??}?else?{
????localStorage.clear();?//清空緩存
????if?(router.currentRoute.name?&&?router.currentRoute.name.toLowerCase()?==?"login")?{?
??    //這里需要排除登陸(或者說是第一次請求獲取token)的時候的請求驗證,我這里沒做處理
     ?//我的后臺api接口,并沒有對login接口做token驗證,所以這里不做處理
????}?else?{??    
??    //除登陸接口外,其他需要token驗證的方法,會走這里且返回null
??????return?null;
????}
??}
??return?config;
},?function?(err)?{
??//?return?Promise.reject(err);
});
//?http?response?攔截器
axios.interceptors.response.use(
??response?=>?{
????return?response;?//請求成功的時候返回的data
??},
??error?=>?{
????try?{
??????if?(error.response)?{
????????switch?(error.response.status)?{
??????????case?401://token過期,清除token并跳轉(zhuǎn)到登錄頁面
????????????localStorage.clear();
????????????var?baurl?=?window.location.href;
????????     router.replace({
????????????????path:?'login',
????????????????query:?{?backUrl:?baurl?}
??????????????});???????????
????????????return;
????????}
??????}
??????return?Promise.reject(error.response.data)
????}
????catch?(e)?{
????}
??});

  寫在後面。因為我的token放在了快取中,所以在每次請求前,我會先在前端取出token,並驗證其時效性,如果過期或不存在會先跳到登陸頁,而不會走攔截器去請求請求。具體也參考mounted()方法。

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

推薦閱讀:

utils.js使用案例詳解

#怎麼使用Vue操作DIV

以上是vue攔截器相容性處理的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

藍(lán)牙5.3和5.2版本的比較及差異解析 藍(lán)牙5.3和5.2版本的比較及差異解析 Dec 28, 2023 pm 06:08 PM

現(xiàn)在有不少手機(jī)都號稱支援藍(lán)牙5.3版本,那麼藍(lán)牙5.3和5.2的區(qū)別是什麼呢,其實(shí)它們本質(zhì)上都是藍(lán)牙5的後續(xù)更新版本,在大部分的性能和功能上是沒有多少區(qū)別的。藍(lán)牙5.3和5.2的差異:一、資料速率1、5.3能夠支援更高的資料速率最高可達(dá)2Mbps。 2、而5.2只能最高達(dá)到1Mbps,則表示5.3能夠更快、更穩(wěn)定的傳輸資料。二、加密控制增強(qiáng)2、藍(lán)牙5.3提高了加密金鑰長度控制選項,提高了安全性,能夠更好的連接門禁等設(shè)備。 3.同時,由於管理員控制更簡單,在連接的時候還能更加的便利、快速,5.2則無

i7-7700無法升級至Windows 11的解決方案 i7-7700無法升級至Windows 11的解決方案 Dec 26, 2023 pm 06:52 PM

i77700的效能運(yùn)行win11完全足夠,但是用戶卻發(fā)現(xiàn)自己的i77700不能升級win11,這主要是受到了微軟硬性條件的限制,所以只要跳過該限制就能安裝了。 i77700不能升級win11:1、因為微軟限制了cpu的版本。 2.intel只有第八代以上版本可以直升win11。3、而i77700作為7代,無法滿足win11的升級需求。 4.但是i77700在性能上是完全能流暢使用win11的。 5.所以大家可以使用本站的win11直裝系統(tǒng)。 6.下載完成後,右鍵「裝載」該檔案。 7.再雙擊運(yùn)行其中的「一鍵

詳解win11對win10軟體的相容性問題 詳解win11對win10軟體的相容性問題 Jan 05, 2024 am 11:18 AM

win10系統(tǒng)中的軟體都已經(jīng)進(jìn)行了很完美的優(yōu)化,但是對於最新的win11用戶大家肯定都很好奇是不是可以支持這款系統(tǒng),所以下面就給你們帶來了win11支不支持win10軟體詳細(xì)介紹,快來一起了解一下。 win11支援win10軟體嗎:1、Win10系統(tǒng)的軟體甚至是Win7系統(tǒng)的應(yīng)用都可以很好的進(jìn)行相容。 2.經(jīng)過使用Win11系統(tǒng)的大神回饋目前還沒有出現(xiàn)應(yīng)用不相容的問題。 3.所以大家可以放心大膽的升級,不過普通的用戶建議等到Win11發(fā)表正式版再升級。 4、Win11不僅是相容性好,而且還有Windo

win11無法使用ie11瀏覽器怎麼辦? (win11用不了ie瀏覽器) win11無法使用ie11瀏覽器怎麼辦? (win11用不了ie瀏覽器) Feb 10, 2024 am 10:30 AM

越來越多的用戶開始升級win11系統(tǒng),由於每個用戶的使用習(xí)慣不同,還是有不少用戶在使用ie11瀏覽器,那麼win11系統(tǒng)用不了ie瀏覽器,該怎麼辦呢? windows11還支援ie11嗎?下面就來看看解決方法。 win11無法使用ie11瀏覽器的解決方法1、先右鍵開始選單,選擇「命令提示字元(管理員)」開啟。 2.開啟之後,直接輸入“Netshwinsockreset”,回車確定。 3.確定之後再輸入「netshadvfirewallreset&rdqu

WIN10相容性沒了進(jìn)行找回的操作步驟 WIN10相容性沒了進(jìn)行找回的操作步驟 Mar 27, 2024 am 11:36 AM

1.右鍵點(diǎn)選程序,發(fā)現(xiàn)在開啟的屬性視窗中,沒有找到【相容性】選項卡。 2.在Win10桌面,右鍵點(diǎn)選桌面左下角的開始按鈕,在彈出的選單裡選擇【執(zhí)行】選單項目。 3.這時會開啟Win10的運(yùn)行窗口,在窗口中輸入gpedit.msc,然後點(diǎn)選確定按鈕。 4.這時會開啟本機(jī)群組原則編輯器窗口,在視窗中依序點(diǎn)選【電腦設(shè)定/管理範(fàn)本/Windows元件】選單項目。 5.在開啟的Windows元件選單中,找到【應(yīng)用程式相容性】選單項,然後在右側(cè)視窗中找到【刪除程式相容性屬性頁】設(shè)定項。 6.右鍵點(diǎn)選該設(shè)定項,在彈出的菜

可以使用藍(lán)牙耳機(jī)在飛航模式下嗎? 可以使用藍(lán)牙耳機(jī)在飛航模式下嗎? Feb 19, 2024 pm 10:56 PM

隨著現(xiàn)代科技的不斷發(fā)展,無線藍(lán)牙耳機(jī)已成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠帧o線耳機(jī)的出現(xiàn)解放了我們的雙手,讓我們可以更自由地享受音樂、通話和其他娛樂。然而,當(dāng)我們乘坐飛機(jī)時,我們往往會被要求將手機(jī)設(shè)定為飛行模式。那麼問題來了,飛航模式可以用藍(lán)牙耳機(jī)嗎?在本文中,我們將探討這個問題。首先,讓我們來了解飛行模式的作用和意義。飛航模式是手機(jī)的特殊模式

Go語言在Linux系統(tǒng)上的相容性如何? Go語言在Linux系統(tǒng)上的相容性如何? Mar 22, 2024 am 10:36 AM

Go語言在Linux系統(tǒng)上的相容性非常好,它能夠無縫地在各種Linux發(fā)行版上運(yùn)行,並且支援不同架構(gòu)的處理器。本文將介紹Go語言在Linux系統(tǒng)上的兼容性,並透過具體的程式碼範(fàn)例展示其強(qiáng)大的適用性。 1.安裝Go語言環(huán)境在Linux系統(tǒng)上安裝Go語言環(huán)境非常簡單,只需要下載對應(yīng)的Go二進(jìn)位套件並設(shè)定相關(guān)環(huán)境變數(shù)。以下是在Ubuntu系統(tǒng)上安裝Go語言的步驟:

解決 PHP 函數(shù)相容性問題的最佳實(shí)踐 解決 PHP 函數(shù)相容性問題的最佳實(shí)踐 May 01, 2024 pm 02:42 PM

最佳實(shí)踐解決PHP函數(shù)相容性問題:使用版本化的函數(shù)名稱(例如:array_map_recursive())利用函數(shù)別名(例如:functionarray_map($callback,$array){...})檢查函數(shù)可用性(例如:if (function_exists('array_map_recursive')){...})使用命名空間(例如:namespaceMyNamespace{...})

See all articles