AngularJS http.get没有返回任何数据

时间:2015-03-22 20:22:02

标签: angularjs http get

我是AngularJS和Coding的新手,但我对此有一些指导,但我的http.get没有返回任何数据。我在.js文件中嵌入了以下工厂和控制器。并有相应的重复'在一个html文件中,我希望从JSON文件返回日期。当我查看Chrome开发者工具范围内的详细信息时,它会将范围显示为已退回,但具有以下内容

{ 成员:null  }

工厂和控制器代码如下

app.factory('MemberFactory', ['$http' , function($http)
{
        var api = 
        {
            getMembers : function() 
            {
                return $http.get('../json/members2.json')            
            }, 
            getMembers : function(membernumber) 
            {  // NEW
                 return $http.get('../json/' + membernumber + '.json')
            }
        }
        return api
}])


app.controller('homeController', 
['$scope', '$location', '$routeParams', 'GetTheMember', 
function($scope, $location, $routeParams, GetTheMember) {
             GetTheMember.getmembers($routeParams.membernumber)
                .success(function(data) {
                   $scope.member = data
                   })
                .error(function(err) {
                    $location.path('./404') 
                  })
             $scope.setImage = function(img) {
                  $scope.img = img
               }
      }])

1 个答案:

答案 0 :(得分:2)

您的工厂名为MemberFactory。这就是你应该在控制器中注入而不是GetTheMember。另请注意,属性名称区分大小写。您必须致电getMembers而不是getmembers。但由于该函数采用成员ID,因此最好将其重命名为getMember。这样它就不会覆盖其他getMembers函数。

app.controller('homeController', 
['$scope', '$location', '$routeParams', 'MemberFactory', 
function($scope, $location, $routeParams, MemberFactory) {
             MemberFactory.getMember($routeParams.membernumber)
                .success(function(data) {
                   $scope.member = data;
                })
                .error(function(err) {
                    $location.path('./404');
                })

             $scope.setImage = function(img) {
                $scope.img = img;
             }
      }])