【问题标题】:Dynamic continued content load with AJAX使用 AJAX 动态持续加载内容
【发布时间】:2012-08-11 13:13:54
【问题描述】:

我想要实现的是与大多数大型页面在要显示大量内容时所做的类似的事情,但您只想显示其中的一小部分,然后继续加载更多内容(例如来自 Facebook 的提要,它只加载前 20 个项目,向下滚动后加载接下来的 10 个左右)。在我的脑海中,我想到了两种方法(使用 PHP MySQL AJAX 组合)

  1. AJAX 请求,查找所有结果,返回数据,在 javascript 中使用数据并处理逻辑。
  2. AJAX 请求,查找所有结果限制为少数,返回数据,用户想要更多数据,AJAX 请求,查找所有结果限制区间 [few,few +few]。

也许要澄清一下,我想通过请求获得的数据并不是很大,我只是认为在用户完成 AJAX 请求时减少查询数量总是一个好主意。

这两种方法看起来都不是很漂亮,我相信会有一个更优雅的解决方案。

【问题讨论】:

    标签: javascript mysql ajax


    【解决方案1】:

    我真的想不出任何其他选择,实际上您的第二个选择是许多网站如何处理此类事情。这完全取决于“大量内容”中有多少数据。

    最简单的选项(恕我直言)是您的第一个选项,但是很明显,您拥有与 facebook 一样多的数据,只是无法获取和存储所有数据(想象一下页面加载时间!)。

    但毕竟这些只是两种选择:一次全部获取,或者根据需要按位获取。

    【讨论】:

    • 我看到的“根据需要按位获取它”的问题是,您需要存储无论如何都想要获取的元素。这意味着您再次执行整个查询,然后说“现在给我结果 10-20”。
    • @toxicate20:您始终可以为每个提取的元素(或元素组)存储一些唯一的id,这些元素可用于确定下一组是什么。我假设您正在显示某种记录,在这种情况下,您只需将 data-lastId 添加到您的属性(或以其他方式将值存储在 javascript 中)并使用它。
    猜你喜欢
    • 2018-02-20
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多