使用javascript或服务器请求排序?

时间:2012-12-11 01:58:20

标签: javascript sorting

  

可能重复:
  Sorting on the server or on the client?

作为我大学项目的一部分,我必须建立一个类似论坛的网站。

所以会有帖子,其中很多都是。每个帖子都有一个相似的栏,评论,一些文字,一些按钮等。此外,用户将能够根据日期,名称,人气等一些标准对页面中显示的这些帖子进行排序。

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

提前谢谢。

4 个答案:

答案 0 :(得分:3)

两者都有赞成和相符。

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

如果您必须获取额外的记录,否则您将无法获取以对客户端进行排序,那么您很有可能将下载扩展到超出最佳点的客户端,并且通过Ajax在服务器端进行排序会更好。

答案 1 :(得分:2)

这是巨大的取决于。是否涉及寻呼?数据集的最大大小是多少?只有客户端屏幕上单页中的记录需要排序吗?

服务器端排序更适合:

  • 大数据集
  • 更快的初始页面加载
  • 未运行JavaScript的人员的辅助功能
  • 复杂视图业务逻辑
  • 对并发更改的恢复能力

客户端排序更适合:

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

相关问题:

Sorting on the server or on the client?

相关答案:

  

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

答案 2 :(得分:0)

如果在客户端对元素进行排序是可行/可行的,那么最好的解决方案(减少服务器请求)就是最好的选择。但事实并非如此。

答案 3 :(得分:0)

发生在我们身上。我们在客户端对数据进行排序。然后一个新的要求到了。我们需要将排序后的数据放在报告中。因此,我们不需要将已排序的数据直接转换为报表数据源(这将通过服务器端排序实现),而是需要从客户端活动中捕获排序详细信息(要排序的表,要排序的列,排序顺序)(在排序列事件上)然后在按下打印报告按钮时将其发送到服务器,然后在服务器端进行排序。很多工作。