AngularJS在$ http.get()中传递参数以获取json文件的子集

时间:2014-10-12 18:02:43

标签: javascript angularjs http

我目前使用json文件对我的$ http.get()调用进行存根。我想将json文件的子集返回到角度控制器。我看过其他帖子,他们建议在Get电话中设置一个params属性,但它对我不起作用。

这是我的控制器:

 angular.module('agileApp')
.controller('projectController', ['$scope', '$filter', '$http','$routeParams', function($scope, $filter, $http, $routeParams){

$http.get('json/testData.json').success(function(data){

    //console.log(data);
    $scope.projectData = $filter('filter')(data.projectDetail, {Id:1})[0];
    console.log($scope.projectData);
});

}]);

这是我的json文件:

{ 'projectDetail': [{
    'Id': 1,
    'projectName': 'Project1',
    'projectStatus': 'In Progress',
    'teamMembers': ['User1,'User2', 'User3'],
    'userStories': [
        {'userStoryId': 0,
         'Description': 'As a user blah blah blah 1',
         'storyPoints': 10
        },
        {'userStoryId': 1,
         'Description': 'As a user blah blah blah 2',
         'storyPoints': 10
        },
        {'userStoryId': 2,
         'Description': 'As a user blah blah blah 3',
         'storyPoints': 10
        },
        {'userStoryId': 3,
         'Description': 'As a user blah blah blah 4',
         'storyPoints': 10
        },
        {'userStoryId': 4,
         'Description': 'As a user blah blah blah 5',
         'storyPoints': 10
        },
        {'userStoryId': 5,
         'Description': 'As a user blah blah blah 6',
         'storyPoints': 10
        },
    ]
},

项目详细信息数组中还有其他对象,但我只想拉回Id = routeID的那个,它作为参数传递给控制器​​。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

你的json无效,所以$ http.get给你一个字符串而不是一个对象

有一些语法错误,过度角度需要适当的引用(与js的共同点不同)。

  

I testet a simple set with this plunker

这是我简化的json。我想你可以很容易地弄清楚如何采用你的。 (这是“intead of”)

{
  "projectDetail": [
    {
      "Id": 1,
      "projectName": "Test1"
    }
  ]
}