当我的结果有限时,如何对API结果进行分页?

时间:2016-12-07 22:22:01

标签: javascript angularjs api pagination

我正在使用food2fork target="_blank" API将搜索结果加载到网页上。但是,当我尝试分页时,我遇到了一个问题。我一次只能获得30个结果,而且我也不知道如何查找可能的搜索结果总数。有谁知道我怎么能为此实现分页,或者它是否可能?

我使用angular +节点构建了这个,如果这会产生影响,那就是在heroku上托管。

(现在我已经限制了它,以便用户可以搜索他们想要的搜索的最多三页,但它已经硬编码到网站中,因此对于提供更多内容的搜索来说它会有问题或者不到3页的结果。我可以只有' prev'以及' next'按钮,但我觉得这也是限制。)

2 个答案:

答案 0 :(得分:0)

如果您无法从API中获得超过30个结果,我建议您循环调用API,直到获得所有数据(30,60,90,...)。然后,您可以轻松地为最终用户分页。

答案 1 :(得分:0)

如文件所述:

  

页面(仅搜索)

     

任何请求都将返回最多30个结果。要获得下一组结果,请再次发送相同的请求,但页面= 2   如果省略则默认为page = 1

您想要获取范围从31到60的结果,您需要在请求中传递page=2。看起来API没有提供结果总数。

我不订阅@Arashsoft提案。它实际上违背了加载完整结果集的的分页目的。如果你有成千上万的食谱会有什么表现?

但是使用这个简单的API,您可以实现infinite scrolling