2017-08-10 65 views
0

所以我想發送GET請求到我的Ionic 2應用程序中的API服務器,返回的JSON太大,不能在一個頁面,所以服務器將它分成頁面,每個都有不同的URL(很明顯)。GET請求與多個頁面在Ionic 2

我的問題是,我不知道如何在同一請求中調用其他頁面,我聽說使用無限滾動將會有所幫助,並且我查看了官方文檔,但是我仍然無法解決我的問題。

這裏是我的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)聲明要結束含有兩種反應的組合後的結果的變量。我不知道返回數據的結構,但我猜測它返回的是一個包含分頁的數組。讓這個變量最初有0個元素。

2)使用與您完成相同的方式獨立完成這兩個請求。這可以確保第二個呼叫不必等待第一個呼叫完成,並且它們可以異步工作。

3)當GET調用成功返回時,將元素添加到第一步中聲明的變量中。如果您願意,您可以使用'concat'函數在單個語句中實現此功能。

應該是這樣。

如果你想打第一個電話,等待它的迴應,然後再打第二個電話,我建議你看看「承諾鏈接」。