4

I have login page . When username and password is correct i want to redirect from login page to HomePage.html page.

Login.html

<ion-view view-title="Login" name="login-view">
  <ion-content class="padding">
      <div class="list list-inset">
          <label class="item item-input">
              <input type="text" placeholder="Username" ng-model="data.username">
          </label>
          <label class="item item-input">
              <input type="password" placeholder="Password" ng-model="data.password">
          </label>
      </div>
      <button class="button button-block button-calm" ng-click="login()">Login</button>
  </ion-content>
</ion-view>

HomePage.html

<label id="test">test</label>

controller.js

.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup, $state) {
    $scope.data = {};

    $scope.login = function () {
        LoginService.loginUser($scope.data.username, $scope.data.password).success(function (data) {

            $state.go('/HomePage'); // This is not working for me

        }).error(function (data) {
            var alertPopup = $ionicPopup.alert({
                title: 'Login failed!',
                template: 'Please check your credentials!'
            });
        });
    }
})

Question:

When i try below code

$state.go('/HomePage');

this is not working for me.

I get below exception as below

Error: Could not resolve '/HomePage' from state 'login'

How can i reach homepage.html page from login page.

Any help will be appreciated.

Thanks.

2
  • 2
    post you app.js here Commented Oct 12, 2015 at 11:27
  • 1
    i also forgot to add new path to app.js thanks for answer Commented Oct 12, 2015 at 11:32

3 Answers 3

11

use this :

$location.path('/HomePage');

Full code:

.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup,$location) {
    $scope.data = {};

    $scope.login = function () {
        LoginService.loginUser($scope.data.username, $scope.data.password).success(function (data) {

            $location.path('/HomePage'); // working

        }).error(function (data) {
            var alertPopup = $ionicPopup.alert({
                title: 'Login failed!',
                template: 'Please check your credentials!'
            });
        });
    }
})
Sign up to request clarification or add additional context in comments.

1 Comment

this is using angular's router, now you're handling states two different ways.
5

use this :

$state.go('app.HomePage');    //This is worked for me.

My Code:

 $scope.Login = function(form){  
   if(form.$valid) {   

          $http({
          method  : 'POST',
          url     : link,
          data    : {username : $scope.data.username, password : $scope.data.password,action: 'login'}, //forms user object
          headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
         })
          .success(function(data) {                
             $state.go('app.listings');                             
          });           
    }       
 };

Comments

3

Use state name instead of a path. For example:

$stateProvider
    .state('auth', { 
        url: '/auth', 
        views: { 
            'nav_view_start': { 
                templateUrl: 'templates/auth/auth.html', 
                controller: 'AuthCtrl'
            }
        }
    })
    .state('main', { 
        url: '/main', 
        abstract: true, 
        cache: false, 
        views: { 
            'nav_view_start': { 
                templateUrl: 'templates/main/main.html', 
                controller: 'MainCtrl' 
            }
        } 
    }); 

Use main instead of /main.

1 Comment

$stateProvider.state(''auth', { url : '/auth', views : { 'nav_view_start' : { templateUrl : 'templates/auth/auth.html', controller : 'AuthCtrl' } } }).state('main', { url : '/main', abstract : true, cache : false, views : { 'nav_view_start' : { templateUrl : 'templates/main/main.html', controller : 'MainCtrl' }, } }); <br/><br/> Use "main" instead of "/main"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.