2015-09-22 57 views
0

我有一個處理登錄到我的SPA的Angular服務。

myApp.service('loginService', ['$rootScope', '$http', '$resource', '$cookies', '$location', function($rootScope, $http, $resource, $cookies, $location) { 
 
\t 
 
\t this.validateEmail = function() { 
 

 
\t \t $http({ 
 
\t \t \t url: myAppConfig.rootAPIUrl + 'Authenticate', 
 
\t \t \t params: { 
 
\t \t \t \t "playerId": $rootScope.data.emailId, 
 
\t \t \t \t "emailAddress": $rootScope.data.emailAddress 
 
\t \t \t }, 
 
\t \t \t method: "POST" 
 
\t \t }) 
 
\t \t \t .then(function(response) { 
 

 
\t \t \t \t if (response.data.Message == 'Success') { 
 
\t \t \t \t \t console.log('Login is successful.'); 
 
\t \t \t \t \t $cookies.put('emailId', $rootScope.data.emailId); 
 
\t \t \t \t \t $location.path("#/game").replace(); 
 
\t \t \t \t } 
 

 
\t \t \t \t $rootScope.msg = response.data; 
 
\t \t \t \t console.log(response.data); 
 
\t \t \t }, function(response) { 
 
\t \t \t \t console.log('Error in $http in controller...'); 
 
\t \t }); 
 

 
\t } 
 

 
}]);

成功登錄後,我的條件檢查出if塊,我得到的控制檯味精,我讓我的cookie設置,但位置路徑「#/遊戲的設定'不起作用。任何想法爲什麼?

+0

你想重定向到「#/遊戲」還是「/#遊戲」? –

+0

#/遊戲,但即使在位置路徑參數中,它也不會重定向。 – TWLATL

+1

我不認爲你需要散列在路徑中,除非你將HTML5Mode設置爲true,angular的$ location.path方法將爲你做到這一點。你嘗試過使用''/遊戲'嗎? –

回答

0

您只需要在$location.path中通過'/game'即可。 這就是它對我的作品。

+0

Doh!沒有意識到Angular想要沒有散列的路徑。謝謝! – TWLATL