Angular js - 使用$ http从控制器内部重定向到页面

时间:2014-02-15 03:51:47

标签: angularjs

以下是我在控制器内的功能。

controller.js

function saveAndMove()
        {           
            User.save({
                userId: $scope.user.id
            }, $scope.user, function(result) {
                console.log(result);                
            });  
            $http.get('/logout').success(function(data) { 
             console.log("Sucess redirect");
            }).error(function(data){
                console.log("Failure redirect");
            });

         }

我在控制台中收到“成功重定向”消息。但我没有被重定向。请让我知道我哪里出错了。

1 个答案:

答案 0 :(得分:1)

如果您尝试在控制器中进行路线更改,则需要使用网址更改服务。为此,Angular内置了$ location。我不认可您的save方法或logout响应的使用...但使用$locationdocs)在promise解析后执行实际重定向。

 function saveAndMove($location)
    {           
        User.save({
            userId: $scope.user.id
        }, $scope.user, function(result) {
            console.log(result);                
        });  
        $http.get('/logout').success(function(data) { 
             $location = 'route/to/wherever';
        }).error(function(data){
            $location = 'route/to/handlerforfailuretologout';
        });

     }