這篇“Vue在封裝了Axios后手動(dòng)刷新頁(yè)面攔截器無(wú)效怎么解決”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Vue在封裝了Axios后手動(dòng)刷新頁(yè)面攔截器無(wú)效怎么解決”文章吧。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出軹城免費(fèi)做網(wǎng)站回饋大家。
項(xiàng)目類(lèi)型:vue+vux+axios
剛開(kāi)始,把Axios封裝在了http.js文件里面,然后為了使用VUX的提示框消息,把攔截器直接寫(xiě)在了main.js里面。直接調(diào)用接口,一切正常。
然而因?yàn)榉祷刂涤薪y(tǒng)一的code錯(cuò)誤代碼提示,所以在攔截器里面加入了code的判斷以便統(tǒng)一返回值。剛開(kāi)始一切都是按照預(yù)期的結(jié)果來(lái)走的。就在一個(gè)夜黑風(fēng)高的晚上,我頭暈眼花的按F5手動(dòng)刷新了一下頁(yè)面,驚奇的發(fā)現(xiàn)攔截器失效了,并沒(méi)有攔截外面的Coode Json代碼層,而是直接把服務(wù)器的全部json數(shù)據(jù)劈頭蓋臉的砸在了我的臉上。一臉懵逼的我以為是接口的問(wèn)題,可是在組件里面直接用console.log打印出來(lái)的數(shù)據(jù)又是對(duì)的。
然后我突然想到了一個(gè)問(wèn)題,直接點(diǎn)擊頁(yè)面返回的話,確實(shí)是OK的,但是如果按F5手動(dòng)刷新的話,Axios并不會(huì)直接走main.js里面的攔截器代碼。
后來(lái)我把攔截器放在了封裝的http.js里面,結(jié)果就一切正常了,不過(guò)郁悶的是放在了外面以后,vux的提示插件沒(méi)有辦法用了。
打印了this指針,果不其然的undefind了,后來(lái)想到了一個(gè)比較變通的方法,我在index.html里面增加了一個(gè)var app用來(lái)存儲(chǔ)main里面初始化的vue對(duì)象,并且在main.js里面把初始化的vue對(duì)象給賦值到windows.app上面,這樣全局都可以使用了。
把vux的提示代碼加上window.app.$vux.toast.show
完美解決問(wèn)題!
以上就是關(guān)于“Vue在封裝了Axios后手動(dòng)刷新頁(yè)面攔截器無(wú)效怎么解決”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。