分页-标准php或不使用ajax重新加载页面


Pagination - standard php or without page reloading with ajax?

我最近一直在搜索,但没有找到任何相关信息。

这两种类型的分页有区别吗?最令人头疼的问题是数据执行的速度如何?哪个更适合用于较慢的网络?

在您的情况下,这两个方法都必须从服务器端检索结果,我假设它是php。由于两种方法对结果的检索是相同的,因此不同之处在于发送数据和显示数据
使用标准的php分页,您需要发送整个页面,以及页面的所有布局和其他必要内容,更不用说使用新页面加载请求的对库的所有新调用了
在进行AJAX分页时,您很可能只发送数据,例如,JSON格式的数据,然后在用户端用javascript创建必要的元素,或者如果您选择发送已经准备好的HTML代码并简单地将其插入DOM中。

最后,我想说AJAX版本肯定更快。

不谈绩效,还有其他几个方面会影响你的决策。以下是一些:

  • 正如其他评论者所提到的,当用户关闭javascript时,情况会有所不同
  • 搜索引擎无法对这些结果进行索引(需要对此进行确认)
  • 考虑向后/向前导航

ajax分页应该比重新加载整个页面更快,因为您只需要用结果集更新片段,而不需要再次更新所有资产(包括它们的有效负载、标头和延迟时间)。

如果您还仔细规划服务器发送的数据格式—例如,JSON而不是可以与客户端模板引擎一起使用的纯HTML—您甚至可以减少有效负载,从而大大缩短总体响应时间。

此外,如果您的页面包含要在每次页面加载时执行的脚本,那么javascript解释器在每次页面负载时总是会花费一些额外的时间,而使用ajax,您将执行一次脚本(如果您需要将一些功能重新应用于结果集的元素,您可以从事件委派中获益)

您应该熟悉Unobtrusive JavaScript的概念。这个概念表明,如果Javascript不可用,网站仍然可以工作。

此外,渐进式增强,这是一个通过从可访问性开始添加更多功能层的概念。

我想说,最好的做法是:

a) 实现分页服务器端(PHP)b) Javascript上的层(Ajax/jQuery)

这两种类型的分页有区别吗?

分页就是分页。函数之间没有真正的区别,只是执行。

最令人头疼的问题是数据执行的速度如何?

AJAX肯定会感觉更快,而且通常会更快,这要归功于不必重新渲染整个页面和所有这些开销。当然,它还增加了一个额外的层,如果编程不好,可能会断裂。

哪个更适合用于较慢的网络?

这取决于情况。你在考虑蜂窝网络的速度吗?如果是这样的话,移动网站的优化程度如何?你只是在考虑台式机和拨号上网吗?

(A) 您也可以用不同的方式编写类似AJAX的分页程序。您可以一次加载所有结果,然后使用Javascript将结果分割成"页面"。有效地将所有HTML标记都放在那里,并在需要时显示/隐藏它。

(B) 您只能加载第一个页面,并让AJAX回调到服务器以加载其他页面。

良好

如果人们可能要查看多个页面,则选项(A)效果良好。它只需要在页面加载时访问一次服务器,您只需使用Javascript以更易于阅读的方式呈现它。

如果人们不太可能查看大多数页面,则选项(B)效果良好。

错误

选项(A)您可以加载比所需多得多的数据,使初始页面加载更慢(但只有一些,因为根据结果列表的大小,已经有开销了。)

选项(B)如果人们查看了许多页面,你可能会在网络上打更多的电话来加载数据,如果加载任何给定的数据集都很长,这可能是一种缓慢的体验。

我希望这能帮助到一些人!