Ionic 3 - Невозможно загрузить данные API на странице - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь следовать инструкциям на https://ionicacademy.com/http-calls-ionic/, и когда я преобразую вызов в службу (https://www.oakwoodnb.com/json/events.php),), я могу записать данные на консоль, но они не отображаются на экране. Есть идеи, почему?

Вот мой код:

api.ts

    @Injectable()
    export class ApiProvider {

    constructor(public http: HttpClient) {
    console.log('Hello ApiProvider Provider');
    }

    getVerses() {
    return this.http.get('https://www.oakwoodnb.com/json/events.php');
    }

ежедневно verse.ts

    export class DailyVersePage {

    //Added to retrieve verses
    verses: Observable<any>;

    constructor(public navCtrl: NavController, public navParams:            NavParams, public apiProvider: ApiProvider) { 

    //Is this a race condition?
    this.verses = this.apiProvider.getVerses();

    this.verses
    .subscribe(data => {
    console.log('my data: ', data);
    })

    }

ежедневно verse.html

    <ion-list>
    <p ion-item *ngFor="let verse of (verses | async)?.results">
    Title: {{ verse.title }}
    </p>
    </ion-list>

API, который я вызываю, не работает, если у меня не включено расширение CORS Chrome, но при включении он регистрируется в консоли.

1 Ответ

0 голосов
/ 02 июля 2018

Я разобрался с ответом. Размещать его для тех, кто может застрять, как я.

Я изменил

    <p ion-item *ngFor="let verse of (verses | async)?.results"> 

до

    <p ion-item *ngFor="let verse of (verses | async)?.items"> 

потому что данные возвращаются в первом элементе как «элементы» вместо «результатов» в API.

...