2015-09-25 25 views
2

我的主要問題是在底部以粗體顯示。我特別喜歡這個問題的答案,但如果您想幫助我找出問題的其他部分,請繼續閱讀。設置window.location與輸入網址?

我正在開發一個Web應用程序,其會話過期由Spring後端處理(這是默認的Tomcat 30分鐘會話過期)。如果您登錄到應用程序,然後輸入「www.myapplication.com/portal/logout」(而不是真實的URL,obv。),則您已註銷並重定向到登錄頁面。大。但是,如果你設置

window.location = 'http://www.myapplication.com/portal/logout' 
在客戶端JavaScript

,該URL顯示在瀏覽器地址欄,但它是由在後端的另一個服務所產生的白色標籤錯誤頁面的結果。

爲什麼在代碼中輸入url與設置window.location之間有區別?應該有區別嗎?或者你認爲這個其他服務是否在重定向?如果是這樣,爲什麼當你輸入網址時不會發生同樣的錯誤?

PS。我也試過window.location.href = url和window.location.replace(url),達到同樣的效果。

+0

@Buzinas window.location.assign(URL)是要走的路。謝謝!現在重新路由工作。 – user3846568

回答

2

你應該嘗試:

window.location.assign(url); 
0

設置window.location是一個常見錯誤。 location對象具有名爲assign的功能,該功能將打開一個新位置。

嘗試使用替代以下:

window.location.assign('http://www.myapplication.com/portal/logout') 

你也可以使用window對象的open()功能。

window.open( 'http://www.myapplication.com/portal/logout')

+0

對象'window.location'沒有名爲'open'的方法。 – Buzinas

+0

@Buzinas你是對的,open是'window'的一種方法。 'assign()'就是我想的 –