2016-05-02 33 views
0

我试图从一个活动转移到另一个使用离子。 我没有任何错误,但行动不起作用。重定向离子

我的状态是:

的.config(函数($ stateProvider){$ stateProvider .STATE( '指数',{ templateUrl: '的index.html', 网址: '/' }) .STATE( '家',{ templateUrl: '模板/ welcome.html', URL: '/家' });} )

我的控制器:

.controller('HomeCtrl', function($scope, $state, $http, $location) { 

    $scope.login = function(user) { 
     $http.get("http://localhost/app_dev.php/json/login/"+user.username+"/"+user.password) 
     .then(function(response){ 
      console.log(response.data.status); 
      if(response.data.status === 200) 
      { 
       alert("redirect to main page"); 
       $location.path("/home"); 
      }else if(response.data.status === 403){ 
       alert("Login or password incorrect"); 
      }else{ 
       alert("User not found"); 
      } 
     }); 
    }; 
}) 

当我receve我的JSON,我没有错误,但重定向不显示

+0

你使用的是UI路由器吗? –

回答

0

我有一个类似这样的问题,我所做的只是添加$事件到我的登录方法在我的HTML模板。

<button ng-click="login(user,$event)"></button> 

然后在我的js中我调用event.preventDefault();

.controller('HomeCtrl', function ($scope, $state, $http, $location) { 

    $scope.login = function (user, event) { 
     $http.get("http://localhost/app_dev.php/json/login/" + user.username + "/" + user.password) 
      .then(function (response) { 
       console.log(response.data.status); 
       if (response.data.status === 200) { 
        event.preventDefault(); 
        alert("redirect to main page"); 
        $state.go("home"); 
       } else if (response.data.status === 403) { 
        alert("Login or password incorrect"); 
       } else { 
        alert("User not found"); 
       } 
      }); 
    }; 
}) 
1

我认为你是非常混淆的状态和位置,我建议保持简单并且使用只有状态

尝试注入$状态和使用它,因为我可以看到你定义为“家”的状态,这也许应该做的伎俩:

$state.go("home"); 

,而不是使用

$location.path 

我希望帮助

+0

我试过但没有结果 –

+0

控制台中有任何错误或输出? –

+0

不,我只是回复说认证是正确的状态,但它不会改变视图 –

0

$ionicHistory.goBack()应该是最有效的方法,我想。