什么是最佳处理的页码?服务器方或者这样做的动态使用javascript?

我工作上的一个项目,该项目是沉重的阿贾克斯和拉在数据动态的,所以我已经工作javascript页码系统,使用dom-但是我开始觉得它会更好地处理它的所有服务器的一侧。

什么每个人的想法?

有帮助吗?

解决方案

正确的答案取决于你的优先事项和的大小的数据集进行分页。

服务器侧页是最好的

  • 大型数据组
  • 快初次页面载荷
  • 辅助对于那些没有运行javascript

客户端分页是最好的

  • 小的数据集
  • 快速随后的页面载荷

所以如果你们分散为主要的化妆品的原因,它使更多的意义来处理它。如果你和分散,以减少初始装载时间、服务器方是显而易见的选择。

当然,客户面的优势在随后的网页载时间减少了,如果你利用的Ajax载随后的网页。

其他提示

在客户端进行此操作将使您的用户首先下载所有可能不需要的数据,并将删除分页的主要好处。

这种类型的AJAX应用程序的最佳方法是让AJAX为下一页调用服务器,并使用客户端脚本添加更新当前页面。

如果你有大页面和大量页面,你最好通过AJAX从服务器请求页面。因此,让服务器根据您的请求URL进行分页。

您还可以预取用户可能会查看的下几页,以使界面看起来更具响应性。

如果页面只有几页,那么在客户端预先抓取并分页可能是更好的选择。

即使数据量很小,最好的选择也是服务器端分页。如果您的Web应用程序进一步扩展,您将不必担心。

对于较大的数据大小,答案是显而易见的。

服务器端 - 向客户端发送当前视图的足够内容。

在实际的限制世界中,我会在服务器端寻呼以节省与发送数据相关的所有资源。此外,服务器需要保护自己免受恶意/故障客户端的要求,这是一个巨大的页面。

一旦代码愉快地开始,我就会添加“智能”代码。给客户以获得“下一个”和“之前的”页面并将其保存在内存中。当用户访问下一页时,请更新缓存。

如果客户端软件执行此类页面缓存,请考虑数据的老化速度(可能会发生变化)以及是否应检查缓存的数据页面是否仍然有效。如果它超过2分钟,也许重新请求它。也许有一个“脏”的在它的旗帜。这样的事情。希望你觉得这很有帮助。 :)

你是说你的JavaScript拥有内存中的所有数据,并且一次显示一页?或者它使用AJAX从服务器下载每个页面?

如果是后者,您还可能需要考虑排序。如果您使用JavaScript排序,那么您一次只能对一个页面进行排序,这没有多大意义。所以你的排序应该在服务器上完成。

我更喜欢服务器端分页。但是,在实现它时,您需要确保正确优化SQL。例如,我相信MySQL,如果你使用LIMIT选项它不使用索引,所以你需要重写你的sql以正确使用索引。

G-曼

此处要指出的另一件事是,您很少会被限制为仅通过原始数据集进行分页。

您可能必须在显示的一个或多个列中搜索某些字词,然后对几列进行排序,然后让用户能够浏览此过滤的数据集。

在这种情况下,您可能需要查看是否更好地进行逻辑搜索和/或对客户端或服务器端进行排序。

另一件需要考虑的事情是,亚马逊的云搜索API为您提供了一些非常强大的搜索功能,显然您希望允许云搜索在您将数据托管在那里时为您处理搜索和排序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top