我們在我們的環境中有兩個不同的應用程序,一個用於處理登錄和主要門戶。當任何人嘗試訪問一個門戶網站並且其未登錄時,「其他」功能將保存此網址並重定向到登錄。當重定向到登錄時在角度路線中的迴路問題
$urlRouterProvider.otherwise(function($injector, $location){
console.log($location.absUrl());
//save attempted url
//redirect to login,
var loginUrl=$location.absUrl() + '#/login';
var $window=$injector.get('$window');
console.log(loginUrl);
$window.location.href=loginUrl;
});
在Firefox這項工作很好,但在Chrome中,「登錄」狀態從來沒有解決,所以每一次回落到默認的功能,從而導致一個循環。
你可以看到http://plnkr.co/edit/l51Wqn0EB1ySDjbScSvY
這個問題誰能幫我解決的辦法?
編輯:我需要執行重定向與$ window.location.href,因爲這個應用程序有時得到加載/門戶和需要重定向到/#/登錄。
謝謝你!我知道我不應該使用$ window.location進行重定向,而你的其他答案就是這個問題的良好做法,但對於我的特殊情況,這個答案是有效的。 – 2014-11-07 13:21:06
是的,我在那裏留下了我的其他答案以獲得最佳實踐。 – TheSharpieOne 2014-11-07 13:23:13