Ionic 2中包含多个页面的GET请求
Posted
技术标签:
【中文标题】Ionic 2中包含多个页面的GET请求【英文标题】:GET request with multiple pages in Ionic 2 【发布时间】:2018-01-18 07:05:03 【问题描述】:所以我试图在我的 Ionic 2 应用程序中向 API 服务器发送 GET 请求,返回的 JSON 太大而无法在一页中,因此服务器将其分成页面,每个页面都有不同的 URL(显然)。
我的问题是我不知道如何在同一个请求中调用其他页面,听说使用无限滚动会有所帮助,我查看了官方文档,但我仍然无法解决我的问题。
这是我的 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>
【问题讨论】:
“在同一请求中调用其他页面”是什么意思?你想通过对服务器进行 1 次调用来请求 2 个不同的 URL 吗? @DeveshSati 我希望我的函数在完成当前页面后调用获取请求到下一页,我听说可以使用 ion-infinite-scroll,但我不确定如何应用它。 你想实现无限滚动还是想从2个不同的请求中加载数据并将服务器响应合并为1个? @DeveshSati 主要的优先级是从 2 个不同的请求(或者 api 请求包含的许多页面)中检索数据,并将它们组合成一个响应,如果可能的话使用一个函数 【参考方案1】:我不会在这里写实际的代码,但会告诉你如何实现你想要的。
步骤:
1) 声明一个变量,您希望最终包含两个响应组合后的结果。我不知道返回数据的结构,但我猜它返回某种数组,因为涉及到分页。让这个变量最初有 0 个元素。
2) 以与您所做的相同的方式独立地发出两个请求。这确保了第二个调用不必等待第一个调用完成,并且它们可以异步工作。
3) GET 调用成功返回后,将元素添加到第一步声明的变量中。如果您愿意,您可以使用 'concat' 函数在单个语句中实现此目的。
应该是这样的。
如果您想拨打第一个电话,请等待它的响应,然后再拨打第二个电话,我建议您查看“Promise Chaining”。
【讨论】:
以上是关于Ionic 2中包含多个页面的GET请求的主要内容,如果未能解决你的问题,请参考以下文章