可能重复:
在服务器或客户端上排序?
作为我大学项目的一部分,我必须制作一个像论坛这样的网站。
所以会有很多帖子。每个帖子都有一个点赞栏、评论、一些文本、一些按钮等。用户还可以根据日期、名称、受欢迎程度等标准对出现在页面中的这些帖子进行排序。
我的问题是我应该如何实现排序:1.在浏览器端使用javascript,或者2.使用表单或其他东西,以及对服务器的新请求(这样服务器必须将排序的帖子发回给我) ?
先感谢您。
可能重复:
在服务器或客户端上排序?
作为我大学项目的一部分,我必须制作一个像论坛这样的网站。
所以会有很多帖子。每个帖子都有一个点赞栏、评论、一些文本、一些按钮等。用户还可以根据日期、名称、受欢迎程度等标准对出现在页面中的这些帖子进行排序。
我的问题是我应该如何实现排序:1.在浏览器端使用javascript,或者2.使用表单或其他东西,以及对服务器的新请求(这样服务器必须将排序的帖子发回给我) ?
先感谢您。
两者都有优点和缺点。
一般来说,如果您已经拥有客户端中可用的所有数据,您将在客户端上提供响应更快的用户体验排序。
如果您必须获取额外的记录,否则您将不会获取这些记录以对客户端进行排序,那么您很有可能将下载到客户端的内容膨胀到超出最佳点,并且通过 Ajax 在服务器端进行排序会更好.
这是一个巨大的依赖。是否涉及分页?数据集的最大大小是多少?只需要对客户端屏幕单页中的记录进行排序吗?
要记住的重要一点是,虽然在理论上平衡强大的客户端和服务器之间的负载可能是一个好主意,但只有服务器才能维护一个索引,该索引在每次插入时都会更新。无论客户做什么,它都是从一组未索引的未排序数据开始的。
它发生在我们身上。我们在客户端对数据进行排序。然后一个新的要求来了。我们需要将排序后的数据放入报表中。因此,我们需要从客户端活动(在排序列事件上)然后在按下打印报告按钮时将其发送到服务器,然后在服务器端进行排序。很多工作。
如果可以/实际在客户端对元素进行排序,那将是最好的解决方案(减少服务器请求)。然而,情况往往并非如此。