2016-05-17 5 views
2

そのIDで特定のカテゴリを取得します。私は休息からすべてのカテゴリのデータを取得することができます。私はIDでデータを取得できません。特定のカテゴリをクリックするとnullが表示されます。私のコードがあります。angularjsでrest callを使用してidでデータを取得します

service.js:

(function() { 
    angular.module('shoppingPad') 
     .factory('registerService', function ($q, $http) { 
      //stores json data into category array. 
      var category = {}; 
      category.subCaegory = []; 
      category.cur_category = {}; 
      baseUrl = 'http://localhost:4000/category'; 
      //return { 
       //function to get all category 
      category.getAllCategory= function() { 
        var deferred = $q.defer(); 
        //calling json data 
        return $http.get(baseUrl).then(function (response) { 
          category = response.data; 
          deferred.resolve(category); 
          return deferred.promise; 
         }, 
         function (error) { 
          deferred.reject(error); 
          return deferred.promise; 
         }); 

       }, 
       // get category by id 
       category.getSubCategory=function (id) { 
        console.log('inside subcategory'); 
        var deferred = $q.defer(); 
        return $http.get(baseUrl +'/' + id) 
         .success(function (response) { 
          deferred.resolve(
           category.cur_category = response); 
          return deferred.promise; 
         }) 
         .error(function(error){ 
          deferred.reject(error); 
          return deferred.promise; 
         }) 

       }; 

      return category; 
      //} 
     }) 
})(); 

controller.js:あなたはライン#で欠場

(function() { 
    angular.module('shoppingPad').controller('registerCtrl', registerCtrl); 
    function registerCtrl($scope, registerService, $stateParams, $state,$rootScope,Page) { 
     console.log("in Register Ctrl"); 
     var categoryId = $stateParams.categoryId; 
     $scope.category=null; 
     $scope.cur_category = null; 
     //getCategory function to get all category from rest call. 
     $scope.getCategory = function() { 
      //setting title for registration 
      Page.setTitle('Registration'); 
      registerService.getAllCategory().then(function (response) { 
       $scope.category = response; 
       console.log($scope.category); 
      }) 
     }; 
      //passing id to subCategory function to get sub category by id 
      $scope.subCategory = function (id) { 

       //setting title for sub-category 
       Page.setTitle('Sub-Register'); 
       if (!id) return; 
       registerService.getSubCategory(id).then(function(data) { 
        $scope.cur_category = category.cur_category; 
        $state.go('app.home.register3', {'categoryId': id }) 
       }); 

      }; 

     $scope.signin=function(){ 
      $state.go('app.login.step1') 
     } 

    } 
})(); 

答えて

0

何か29 service.js

.success(function(response) { 
    deferred.resolve(response.data.cur_category); 
    return deferred.promise; 
}) 

あなたがライン#24に逃す何か; controller.js

registerService.getSubCategory(id).then(function(data) { 
    $scope.cur_category = data; //previously it assign to category.cur_category 
+0

まだ動作していません。コード内で問題を見つけることができません – sharvari

+0

console.log(data)を追加できますか? $ scope.cur_categoryにデータを割り当てる直前? – mtamma

+0

コンソールにnull idパラメータが表示されます。 – sharvari

関連する問題