带缓存的无限/分页滚动

时间:2018-04-25 05:29:09

标签: ajax pagination browser-cache infinite-scroll javascript-framework

我有一个要求,我需要显示一个长表。它不必一次全部显示,所以ajax加载它(加载前50个recs,然后每次用户滚动到/从最后一行到第十行时再获得50行)。

但我不确定两者中的哪一个,分页和无限滚动更好。我希望用户能够在返回页面时跳到最后一个滚动点(通过“返回”按钮,当然,如果我可以随时访问页面,那么更好!)以前的行也可见。同时,为了提高性能,我想将ajax调用的数量限制在尽可能低的范围内。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  1. 要实现这样的场景,首先使用一个带有页号和记录数的 api 作为 API 调用中的请求参数 例如 - 'www.abc.com/v1/tableData/pageId=1&noOfRecords=50'
  2. 然后您将获得前 50 条记录。在调用第一个 api 后,它的响应还应该为您提供数据库中可用的记录总数。
  3. 向下滚动时,将 pageId 增加 +1 例如 - 'www.abc.com/v1/tableData/pageId=2&noOfRecords=50'
  4. 以同样的方式,您将增加 pageId,直到您检查到现在为止获得的总记录数,应该等于您从 API 密钥中获得的总记录数。
  5. 通过这种方式,您可以实现它。
  6. 谈到性能,使用分页还是滚动取决于您,这无关紧要,因为您限制了要显示的记录数。