Как я могу динамически получать страницы данных с помощью AJAX, используя jQuery DataTable? - PullRequest
0 голосов
/ 29 марта 2011

У меня есть приложение на Rails 3, которое использует jQuery DataTable для отображения списка продуктов, до которых детализирован пользователь.Тем не менее, в случае универсального типа продукта может быть представлено более 3000 различных продуктов.Рендеринг страницы для таких наборов результатов занимает около 30 секунд, даже несмотря на то, что в таблице данных доступно только 25 (я понимаю, что они ВСЕ отображают, а затем страницы с данными в результатах).

Мой вопрос такой:Я хотел бы отображать результаты только на первой странице, а остальные вызывать только в том случае, если пользователь нажимает следующие или предыдущие кнопки.Это вообще возможно?

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Вся обработка, т. Е. Разбиение на страницы, сортировка и т. Д., Может выполняться с помощью этого плагина на стороне сервера. Этот пример из документации по плагину показывает, как обрабатывать серверную часть с помощью php (извините, я знаю, что вы используете Rails), но это может дать вам представление. Ключ должен установить

 "bServerSide": true

в инициализации вашего datatable. Как только вы это сделаете, вы сможете делать все, что вам нравится на стороне сервера, вместо того, чтобы возвращать весь набор данных за один раз.

Примечание: Исправьте меня, если я ошибаюсь, но я предполагаю, что вы используете DataTables .

0 голосов
/ 30 декабря 2011

Намного лучше, чем работать на стороне сервера, - установить для bDeferRender значение true.Это делает только то, на что это похоже, и отображает только отображаемые строки.Мы обнаружили, что каждый браузер, более поздний, чем IE6, имеет достаточно хороший JS-движок для обработки многих тысяч строк с включенной этой опцией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...