如何使用jQuery DataTable使用AJAX动态获取数据页面?

时间:2011-03-29 18:13:16

标签: ruby-on-rails-3 jquery datatable

我有一个Rails 3应用程序,它使用jQuery DataTable显示用户已深入研究的产品列表。但是,对于通用类型的产品,可能会有超过3,000种不同的产品需要展示。渲染此类结果集的页面大约需要30秒,即使数据表中只有25个可见(我知道它们全部渲染,然后通过结果显示数据页)。

我的问题是,我想只渲染第一页值得结果,如果用户点击下一个或上一个按钮,则只调用其他页面。这甚至可能吗?

2 个答案:

答案 0 :(得分:1)

可以使用此插件在服务器端完成所有处理,即分页,排序等。来自插件文档的This example显示了如何使用php处理服务器端(抱歉,我知道你正在使用Rails),但它可能会给你一个想法。他们的关键是设置

 "bServerSide": true

在数据表的初始化中。一旦你这样做,你应该能够在服务器端做任何你喜欢的事情,而不是一次性返回整个数据集。

注意:如果我错了,请纠正我,但我认为您使用的是DataTables

答案 1 :(得分:0)

比服务器端更好的方法是将bDeferRender设置为true。这听起来就是这样,只呈现它正在显示的行。我们发现,IE6之后的每个浏览器都有一个足够好的JS引擎,可以在启用该选项的情况下处理数千行。