-1

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

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

4

3 回答 3

2

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

总之,我想说 AJAX 版本肯定更快。

不谈论性能,还有其他几个方面会影响您的决定。这里有几个:

  • 正如其他评论者所提到的,用户关闭 javascript 的情况会有所不同;
  • 搜索引擎无法索引这些结果(需要对此进行确认);
  • 想想后退/前进导航。
于 2012-08-06T13:02:46.177 回答
1

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

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

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

于 2012-08-06T12:57:22.043 回答
1

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

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

我会说最佳做法是:

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

这两种分页方式有区别吗?

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

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

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

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

那要看。您在考虑蜂窝网络速度吗?如果是这样,该网站针对移动设备的优化程度如何?您只是在考虑台式机和拨号吗?

(A) 您还可以像分页一样对 AJAX 进行不同的编程。您可以一次加载所有结果,然后使用 Javascript 将结果分成“页面”。有效地在那里拥有所有 HTML 标记,并在需要时显示/隐藏它。

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

好的

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

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

坏的

选项 (A) 您可以加载比需要更多的数据,从而使初始页面加载速度变慢(但只有一些,因为那里已经存在开销,具体取决于结果列表的大小。)

选项 (B) 如果人们查看许多页面,您可能会通过网络进行更多调用以加载数据,如果加载任何给定数据集的时间很长,这可能是一种缓慢的体验。

我希望这会有所帮助!

于 2012-08-06T13:16:32.350 回答