Async factory in ionic sidemenu

I am using ionic framework for my mobile application
what I need is when I click the side menu links I want the factory service to bring data from the server

what is happening now is only one http request sent to the server when the application run ,but when I click on any link in the side menu no requests sent

myapp.factory('Authy',function ($cookieStore,Auth,$http,$q) {

    return {
     can_go :function(){
               var deffered = $q.defer();
          $http.get(mainUrl+"/user_info.json")
                .success(function(data){
              deffered.resolve(data);
          }).error(function(){
             deffered.reject(); 
          });
	         return deffered.promise;      
     }
    }
 
      
    });

in my controller

      myapp.controller("PowerCtrl",function($scope,Authy ,$cookieStore,$http ){
                  $scope.view_loading = true;
                   Authy.can_go().then(function(data){
     $scope.view_loading = false;
    if (data.user){
        var user = data.user;
           
        if ((user.country !="") && (user.city != "")) {
           $scope.coins = user.coins
              $scope.id =user.id
        $scope.current_vip =user.current_vip;
         $scope.vip_time =user.vip_time;
   

        }else{
            
         window.location.href="#/step2";     
        }
    }else{
        
     window.location.href="#/login";   
    }
     
     
 });
                  
              });

my routers

myapp.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
  
  .state("main",{
      url: "/",
      templateUrl: "templates/main.html",
      controller: "MainCtrl"
  })
  
  .state("login",{
      url: "/login",
      
      templateUrl: "templates/login.html",
      controller: "LoginCtrl"
  
  })
   .state("register",{
      url: "/register",
      
      templateUrl: "templates/register.html",
      controller: "RegisterCtrl"      
  })
 .state("step2",{
      url: "/step2",
      templateUrl: "templates/step2.html",
      controller: "StepCtrl"
  })


  .state('app', {
    url: "/app",
    abstract: true,
    templateUrl: "templates/menu.html",
    controller: 'AppCtrl'
  })

  .state('app.home', {
    url: "/home",
    views: {
      'menuContent': {
          controller: "HomeCtrl",
        
        templateUrl: "templates/home.html"
      }
    }
  })

  .state('app.power', {
    url: "/power",
    views: {
      'menuContent': {
          controller : "PowerCtrl",
        templateUrl: "templates/power.html"
      }
    }
  });

  // if none of the above states are matched, use this as the fallback
  $urlRouterProvider.otherwise('/');
});