2011-03-29 118 views
0

我有一個Rails 3應用程序,它使用jQuery DataTable來顯示用戶已經鑽取的產品列表。但是,對於普通類型的產品,可能會出現超過3000種不同的產品。即使在數據表中只有25個可見(我知道它們全部呈現,然後通過結果呈現數據表),大約需要30秒才能呈現這些結果集的頁面。如何使用jQuery DataTable動態獲取AJAX數據頁面?

我的問題是,我想只渲染結果的第一頁,只有在用戶點擊下一個或上一個按鈕時纔會調用其他頁面。這甚至可能嗎?

+2

可能嗎?如果這不是暫停問題,那麼你可以打賭你的底部美元,它[很可能]是可能的。是的,這是非常非常可能的。 – davin 2011-03-29 18:21:46

回答

1

所有處理,即分頁,排序等都可以通過這個插件在服務器端完成。 This example從插件docs顯示如何處理服務器端使用PHP(對不起,我知道你使用Rails),但它可能會給你一個想法。他們的關鍵是設置

"bServerSide": true 

在您的datatable的初始化。一旦你這樣做了,你應該能夠在服務器端做任何你喜歡的事情,而不是一次返回整個數據集。

注意:糾正我,如果我錯了,但我假設你正在使用DataTables

0

比做這個服務器端更好的是將bDeferRender設置爲true。這只是它聽起來像,只呈現它顯示的行。我們發現,每個晚於IE6的瀏覽器都有足夠好的JS引擎來處理啓用該選項的成千上萬行。