Как вернуть объект HTML при обработке на стороне сервера для dataTable jQuery?

Я хочу сказать... у меня есть таблица данных с более чем 20 тыс. записей, поэтому я обрабатываю ее на стороне сервера, поэтому пользовательский браузер остается четким.

Но у меня есть кнопки, которые я должен «сборить», чтобы отредактировать, удалить или активировать некоторые записи, и когда я пытаюсь поместить html в ответ на обработку на стороне сервера, я получаю сообщение об ошибке из dataTable, даже если мой json хорошо отформатирован. ..

так что я могу сделать?

Я пробовал использовать fnDrawCallback, но он запускается после размещения данных в таблице.

Заранее спасибо, Хорхе Феррари.


person Jorge Ferrari    schedule 28.03.2014    source источник
comment
Какую ошибку вы получаете от dataTable?   -  person alpakyol    schedule 28.03.2014
comment
Если вы хотите запустить обратный вызов перед размещением данных, попробуйте fnPreDrawCallback   -  person alpakyol    schedule 28.03.2014
comment
preDraw тоже не работает :/   -  person Jorge Ferrari    schedule 28.03.2014


Ответы (2)


Если я правильно понимаю, вы можете создавать элементы управления html, используя mRender в определениях ваших столбцов. Я использовал это для создания ссылок редактирования в каждой строке данных, используя значение, возвращаемое данными json, в качестве динамического параметра:

    'aoColumns': [
                 {
                  'mRender': function (data, type, row) {
                           var EditLinkText = ' |<a href=\'Edit/' + row[10] + '\'>Edit</a>';
                           return EditLinkText;
                  }
             }
           ]
person markpsmith    schedule 28.03.2014

Я просто узнаю, как я могу это сделать.

я могу использовать fnServerData .. вот пример

// POST data to server
$(document).ready( function() {
  $('#example').dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "xhr.php",
    "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
       oSettings.jqXHR = $.ajax( {
    "dataType": 'json',
    "type": "POST",
    "url": sSource,
    "data": aoData,
    "success": fnCallback
      } );
    }
  } );
} );
person Jorge Ferrari    schedule 28.03.2014