Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS在$http.get()中传递参数以获取json文件的子集_Javascript_Angularjs_Http - Fatal编程技术网

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

Javascript AngularJS在$http.get()中传递参数以获取json文件的子集,javascript,angularjs,http,Javascript,Angularjs,Http,我目前正在用json文件存根我的$http.get()调用。我想将json文件的一个子集返回给angular controller。我看过其他帖子,他们建议在Get调用中设置params属性,但这对我不起作用 这是我的控制器: angular.module('agileApp') .controller('projectController', ['$scope', '$filter', '$http','$routeParams', function($scope, $filter, $ht

我目前正在用json文件存根我的$http.get()调用。我想将json文件的一个子集返回给angular controller。我看过其他帖子,他们建议在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
        },
    ]
},
project detail数组中还有其他对象,但我只想返回Id=routeID的对象,该对象作为参数传递到控制器中

任何帮助都将不胜感激

谢谢

您的json无效,因此$http.get会给您一个字符串而不是对象 有一些语法错误,角度过大需要正确的引用(与js不同)

这是我的简化json。我想你可以很容易地想出如何收养你的孩子。(这是“国际广告公司”)


根据我的理解,params只是一个发送给Web服务的参数,因此,如果您不处理它来做一些事情,或者如果您只有一个json,您将得到该json。我将在这里使用两种方法之一,首先是控制器中的一个方法,或者最好是一个将解析json以返回所需内容的服务。或者使用$httpProvider来处理在它返回之前,它将返回感谢您的响应。但是,我仍然无法解析数据。我已使用筛选代码更新了我的问题,但它返回未定义。成功函数的数据是否为null?您是否检查过是否调用了success?您能提供一个fiddle吗?我想是因为它的无效角度无法为您提供对象。instead数据是一个字符串。所以它不是空的。但是您不能像data.projectDetail那样访问它,因为它只是一个字符串。
{
  "projectDetail": [
    {
      "Id": 1,
      "projectName": "Test1"
    }
  ]
}