3

可能重复:
在服务器或客户端上排序?

作为我大学项目的一部分,我必须制作一个像论坛这样的网站。

所以会有很多帖子。每个帖子都有一个点赞栏、评论、一些文本、一些按钮等。用户还可以根据日期、名称、受欢迎程度等标准对出现在页面中的这些帖子进行排序。

我的问题是我应该如何实现排序:1.在浏览器端使用javascript,或者2.使用表单或其他东西,以及对服务器的新请求(这样服务器必须将排序的帖子发回给我) ?

先感谢您。

4

4 回答 4

3

两者都有优点和缺点。

一般来说,如果您已经拥有客户端中可用的所有数据,您将在客户端上提供响应更快的用户体验排序。

如果您必须获取额外的记录,否则您将不会获取这些记录以对客户端进行排序,那么您很有可能将下载到客户端的内容膨胀到超出最佳点,并且通过 Ajax 在服务器端进行排序会更好.

于 2012-12-11T02:01:54.837 回答
2

这是一个巨大的依赖。是否涉及分页?数据集的最大大小是多少?只需要对客户端屏幕单页中的记录进行排序吗?

服务器端排序更适合:

  • 大型数据集
  • 更快的初始页面加载
  • 那些不运行 JavaScript 的人的可访问性
  • 复杂的视图业务逻辑
  • 对并发变化的弹性

客户端排序更适合:

  • 小数据集
  • 更快的后续页面加载
  • 排序标准是用户可选择的或众多的。
  • 拥有此功能后,您可以轻松添加过滤器和分页

相关问题:

在服务器上排序还是在客户端排序?

相关答案:

要记住的重要一点是,虽然在理论上平衡强大的客户端和服务器之间的负载可能是一个好主意,但只有服务器才能维护一个索引,该索引在每次插入时都会更新。无论客户做什么,它都是从一组未索引的未排序数据开始的。

于 2012-12-11T02:59:28.357 回答
0

它发生在我们身上。我们在客户端对数据进行排序。然后一个新的要求来了。我们需要将排序后的数据放入报表中。因此,我们需要从客户端活动(在排序列事件上)然后在按下打印报告按钮时将其发送到服务器,然后在服务器端进行排序。很多工作。

于 2012-12-11T02:59:45.113 回答
0

如果可以/实际在客户端对元素进行排序,那将是最好的解决方案(减少服务器请求)。然而,情况往往并非如此。

于 2012-12-11T02:01:41.190 回答