Несколько AJAX-вызовов для таблицы, инициализированной более одного раза? - PullRequest
0 голосов
/ 20 июля 2011

Вопрос сложный, поэтому я выложу контекст:

  1. У меня есть фрагмент на странице, который загружается через AJAX.
  2. Эта страница содержит таблицу, которая будет запитываться и заполняться таблицами данных с обработкой на стороне сервера .
  3. Каждый раз, когда я загружаю фрагмент, содержащий новую таблицу, я говорю Datatables загружать таблицу с нуля, используя bDestroy : true.

Задача

AJAX-вызовы, которые извлекают данные, поскольку JSON продолжают накапливаться, когда я загружаю новые таблицы через AJAX.

Вопрос

Как сохранить эти вызовы от суммирования и свести их к одному? Спасибо.


Образцы кода (по запросу)

/* datatables initializer */

$("#table").dataTable({
  bDestroy : true
, bServerSide : true
, sAjaxSource : "path/to/json.json"
, ...
});

/* script inside the AJAX loaded content. It outputs a <table>. */

$(function() {
  $("body").trigger({ type : "tableready", options : { ... } });
});

1 Ответ

0 голосов
/ 22 июля 2011

Ответ на этот вопрос лежит вне ответственности DataTables.В приведенном выше примере кода отсутствует причина проблемы.

Я создал класс, который связывает событие с функцией, которая расширяет возможности таблицы.Каждый раз, когда я вызывал вызов AJAX, который извлекал таблицу, функция накладывала сверху другую привязку, отсюда и множественные вызовы данных.

Решение состоит в том, чтобы проверить, уже связали ли вы это событие, или к unbind()событие и повторно bind() это снова.

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