2017-08-10 18 views
0

Ionic 2アプリでAPIサーバーにGETリクエストを送信しようとすると、返されたJSONが大きすぎて1ページに収まらないため、サーバーはページを分割しますそれぞれ異なるURL(明らかに)を持っています。Ionic 2で複数ページのGETリクエスト

私の問題は、同じリクエストで他のページを呼び出す方法がわからないということです。Infinite Scrollを使用すると役立つと聞きましたが、公式ドキュメントを見ましたが、私はまだ問題を解決できませんでした。ここで

App.tsのための私のコードです:

constructor(public navCtrl: NavController, public navParams: 
    NavParams,private http:Http) { 

    this.http.get("http://linkofAPI") 
    .subscribe(data => { 
     // console.log(data['_body']); 
     this.items = JSON.parse(data['_body']).data;//Bind data to items object 
     console.log(this.items); 
    }, error => { 
     console.log(error);// Error getting the data 
    }); 
} 

そして、私のApp.html

<ion-item class="items" *ngFor="let item of items; let i=index"> 

    <h3 dir="rtl">{{item.content.ar.title}}</h3> 
+0

「同じリクエストで他のページを呼び出す」とはどういう意味ですか?サーバーへの1回のコールで2種類のURLをリクエストしますか? –

+0

@DeveshSati私は、現在のページを終了したら、次のページにget要求を呼び出すようにしたいが、イオン無限スクロールを使用することが可能だと聞きましたが、それを適用する方法がわかりません。 – Muath

+0

無限スクロールを実装するか、2つの異なる要求からデータをロードし、サーバー応答を1に結合しますか? –

答えて

0

私はここに実際のコードを書くが、どのようにあなたの方向性を与える文句を言いませんあなたが望むものを達成するために。

ステップ:

1)あなたは2つの応答の組み合わせの後に結果を含む終わるしたい変数を宣言します。返されるデータの構造はわかりませんが、ページネーションが関係しているので、何らかの配列を返すと思います。この変数に最初は0の要素があるとします。

2)同じように2つのリクエストを個別に行います。これにより、第2の呼び出しが最初の呼び出しが完了するのを待つ必要がなくなり、非同期的に動作することが保証されます。

3)GET呼び出しが正常に終了したら、最初のステップで宣言した変数に要素を追加します。必要に応じて、 'concat'関数を使用して単一のステートメントでこれを実現することができます。

これはそうです。

最初の呼び出しを行い、応答を待ってから2回目の呼び出しを行う場合は、「プロミスチェーン」を調べることをお勧めします。

関連する問題