为什么我的功能不显示数据?

时间:2015-12-30 16:28:18

标签: javascript angularjs

AngularJS

$scope.getData = function(time) {
    console.log(time + " get");
    $http({
        method: 'GET',
        url: 'https://api.parse.com/1/classes/appointments',
        params: {
            time: time
        },
        headers: {
            'X-Parse-Application-Id': 'XXXXX',
            'X-Parse-REST-API-Key': 'XXXXX',
        }
    }).success(function(response, params, status, data, headers, config) {
        console.log();
        $scope.appts = data;
    }).error(function(params, status) {
        console.log(time + " eror");
    });
};

HTML

<ion-view title="Appointments" right-buttons="rightButtons">
    <ion-content has-header="true" has-tabs="true" padding="true">
        <button class="button button-light" ng-click="getData()"> button-light </button>
        <ul>
            <li ng-repeat="item in appts"> {{ appts.time }} </li>
        </ul>
    </ion-content>
</ion-view>

现在根据控制台,它正在工作,但它没有显示数据列表。

Payload是这个(现在只有一个)但是......它仍然没有显示“时间”

{
    "results": [{
        "createdAt": "2015-12-30T15:03:48.511Z",
        "objectId": "BjP1zZ8JqD",
        "time": "12:24",
        "updatedAt": "2015-12-30T15:03:48.511Z"
    }]
}

2 个答案:

答案 0 :(得分:1)

因为您没有正确访问数据,

首先你做:

$scope.appts = data;

这意味着首次需要先访问results,然后再访问数组time

$scope.appts.results[0].time

你可能真正想要的是

$scope.appts = data.results;

由于results是实际的数据数组

其次你正在使用错误的angualr表达

<li ng-repeat="item in appts"> {{ appts.time }} </li> </ul>

appts是完整数组,而不是数组中的一个对象,即item

<li ng-repeat="item in appts"> {{ item.time }} </li> </ul>

答案 1 :(得分:0)

如果我没有读错,你会得到以下回复:

{"results":[{"createdAt":"2015-12-30T15:03:48.511Z","objectId":"BjP1zZ8JqD","time":"12:24","updatedAt":"2015-12-30T15:03:48.511Z"}]}

并在HTML代码中引用appts.time,但您必须参考appts.results [0] .time。