我是新手,喜欢尝试并学习它。
我试图显示来自作为响应收到的Web服务的用户数据。
这是回应

    {
    "Users": {
        "SearchTerm": "angularjs ra1",
        "ResultsPerPage": "20",
        "RecordStartNumber": "0",
        "TotalEstimatedResults": "6",
        "User": [{
            "WWID": "123456",
            "Email": "[email protected]",
            "BusinessTitle": "Project Manager",
            "Name": "Mary Wilson",
            "firstname": "Mary",
            "lastname": "Wilson",
            "idsid": "RAP"
        }, {
            "WWID": "1234567",
            "Email": "[email protected]",
            "BusinessTitle": "Quality Assurance",
            "Name": "Steve Smith",
            "firstname": "Steve",
            "lastname": "Smith",
            "idsid": "DRPRESTO"
        }, {
            "WWID": "12345678",
            "Email": "[email protected]",
            "BusinessTitle": "Chef",
            "Name": "Jon Jones",
            "firstname": "Jon",
            "lastname": "Jones",
            "idsid": "JJONES"
        }]
    }
}


MyScript.js

    var Application = angular.module('TestModule', []);
Application.controller('TestController', function ($scope,$http) {
    $scope.TestValue = "Hello World from Controller";
    $scope.Myfunc = function asdf() {
        $http.get('http://unifiedcollaborationprofile.gots.com/search/expert/data/v2/?apiKey=SECRET&listFromPersonNumber=0&numPeoplePerPage=20&query=angularjs+ra1&returnFriendlyResults=true').then(
            function (response) {
                $scope.users = [];
                angular.forEach(response.Users, function (value, key) {
                    $scope.users.push(value);
                });
            });
    };
});


Page.html

<!DOCTYPE html>
<html ng-app="TestModule">
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
{{2+3}}
<body>
    <div ng-controller="TestController">
        {{2+3}}
        {{TestValue}}
        <input type="text" ng-model="TestValue" />
        <input type="button" value="Click Me To Get All Users!!!!" ng-click="Myfunc()" />
        <ul ng-repeat="k in users">
            <li>WWID:{{k.WWID}}  Email:{{k.Email}}  Name:{{k.Name}}  IDSID:{{k.idsid}}</li>
        </ul>

    </div>
</body>
</html>
<script src="scripts/angular.min.js"></script>
<script src="scripts/MyScripts/MyScript.js"></script>


但是没有任何内容呈现在我的页面上。
我不确定我是否正确访问JSON的Users Collection中的嵌套User对象及其属性。
我想念什么。

最佳答案

我已经用您的代码创建了plunker,而要做的就是将其更改为:

$scope.Myfunc = function asdf() {
    $http.get('test.json').then(function(response) {
      $scope.users = [];
      angular.forEach(response.data.Users.User, function(value, key) {
        $scope.users.push(value);
      });
    });
  };


http://plnkr.co/edit/Fu1tCnhxSn9dgBXtTJ9r?p=preview

您必须记住,http承诺解析后的then会收到一个包含多个值的对象:状态码,标头和data将包含您的数据

09-25 19:49