溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue中重定向redirect:‘/index‘,不顯示問題和跳轉(zhuǎn)出錯(cuò)的解決方法

發(fā)布時(shí)間:2020-10-30 17:33:13 來源:億速云 閱讀:889 作者:Leah 欄目:開發(fā)技術(shù)

vue中重定向redirect:‘/index‘,不顯示問題和跳轉(zhuǎn)出錯(cuò)的解決方法?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

在路由配置中,設(shè)置重定向后,瀏覽器打開是空白沒有內(nèi)容,這里首先確保你的結(jié)構(gòu)沒有寫錯(cuò),然后查看單詞是否拼錯(cuò)誤,一般情況是因?yàn)閱卧~拼寫錯(cuò)誤。

vue中重定向redirect:‘/index‘,不顯示問題和跳轉(zhuǎn)出錯(cuò)的解決方法

vue中重定向redirect:‘/index‘,不顯示問題和跳轉(zhuǎn)出錯(cuò)的解決方法

修改后,跳轉(zhuǎn)成功:

vue中重定向redirect:‘/index‘,不顯示問題和跳轉(zhuǎn)出錯(cuò)的解決方法

附錄:VUE通過后端重定向到VUE的頁面后,前端路由失效的解決方案

這個(gè)問題是我在做微信授權(quán)登錄的時(shí)候遇到的。

具體描述:

用戶打開頁面后,路由攔截判斷用戶是否登錄,如果未登錄,則將用戶的訪問地址記錄到localStorage里面,等待授權(quán)后重定向到該頁面。

當(dāng)我使用location.href將頁面跳轉(zhuǎn)到后端地址,進(jìn)行微信用戶信息獲取完成,由php后端通過header將頁面重定向到我http://my.app.com/#/login 頁面時(shí),發(fā)現(xiàn)似乎并沒有路由到login頁面,而是卡在了 #/ 默認(rèn)路由。在微信瀏覽器中將頁面地址復(fù)制出來,發(fā)現(xiàn)確實(shí)是丟失了#后面的部分。

經(jīng)過一系列的思考,懷疑是瀏覽器緩存的原因,php后端通過header()函數(shù)跳轉(zhuǎn)時(shí),加上隨機(jī)數(shù)字,防止瀏覽器使用緩存。即:

header("Location:http://my.app.com/?".time()."#/login"),在url中加上時(shí)間戳,防止瀏覽器使用緩存是一種很常見的做法。

這個(gè)問題的原因我猜想可能是一開始瀏覽器訪問了http://my.app.com/。而之后重定向的http://my.app.com/#/login只是多了#號(hào)后的部分,傳統(tǒng)頁面中#被作為錨點(diǎn)使用,所以瀏覽器認(rèn)為你訪問了2個(gè)一模一樣的頁面,所以使用了緩存。

這個(gè)問題并不是在所有手機(jī)上都有的,部分手機(jī)才會(huì)出現(xiàn)這個(gè)問題,不過加上隨機(jī)數(shù)之后,問題完美解決!

看完上述內(nèi)容,你們掌握vue中重定向redirect:‘/index‘,不顯示問題和跳轉(zhuǎn)出錯(cuò)的解決方法的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI