Почему моя функция не отображает данные?

0

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>

Теперь, в соответствии с консолью, она работает, но не отображает список данных.

Полезная нагрузка - это (только одна на данный момент), однако... ее по-прежнему не показывают "время",

{
    "results": [{
        "createdAt": "2015-12-30T15:03:48.511Z",
        "objectId": "BjP1zZ8JqD",
        "time": "12:24",
        "updatedAt": "2015-12-30T15:03:48.511Z"
    }]
}
  • 1
    Вам нужно отформатировать свой код. Никто не хочет читать это.
Теги:

2 ответа

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>
  • 0
    Цените это; благодарю вас. Работает сейчас.
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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню