Я работаю с плагином dqtables dcatables и codeigniter, пытаясь следовать (примерно) http://www.ahmed-samy.com/php-codeigniter-full-featrued-jquery–datatables-part-1/ . Я получаю следующую ошибку:
DataTables warning: table id=big_table - Requested unknown parameter '0' for row 0. For more information about this error, please see http://datatables.net/tn/4
В firebug нет ошибок и возвращается следующий JSON:
{"draw":0,"recordsTotal":3,"recordsFiltered":3,"data":[{"id":"2","message_id":"<047d7bf1665e40753c04fd394d72@google.com>","subject":"Delivery Status Notification (Failure)","date":"2014-07-02 19:34:17"},{"id":"3","message_id":"<ad86a2fb8673b8a6.14044068.406744.354605.en-US.b5df177c74ea@google.com>","subject":"Flying the red, white and blue on YouTube","date":"2014-07-03 19:01:21"},{"id":"4","message_id":"<047d7bf1665e04fd640c89@google.com>","subject":"Delivery Status Notification (Failure)","date":"2014-07-04 22:34:16"
я заметил, что ничья равна 0, хотя количество записей (3) верное. Стол сам по себе пуст.
Как я могу это исправить?
Мой контроллер:
function index () {
//set table id in table open tag $tmpl = array('table_open' => '<table id="big_table" border="1" cellpadding="2" cellspacing="1" class="mytable">'); $this->table->set_template($tmpl); $this->table->set_heading("id,message_id,subject,date"); $this->load->view('serversidetestview'); } //function to handle callbacks function datatable() { $this->datatables->select("id,message_id,subject,date")->from('imap'); echo $this->datatables->generate(); }
Мой взгляд:
<html> <head> <base href="<?=base_url();?>"> <!-- DataTables CSS --> <link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.1/css/jquery.dataTables.css"> <!-- jQuery --> <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script> <!-- DataTables --> <script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.1/js/jquery.dataTables.min.js"></script> </head> <body> <h1>Subscriber management</h1> <?php echo $this->table->generate(); ?> </div> <script type="text/javascript"> $(document).ready(function () { var oTable = $('#big_table').dataTable({ "bProcessing": true, "bServerSide": true, "sAjaxSource": 'datatable_controller/datatable', "bJQueryUI": true, "sPaginationType": "full_numbers", "iDisplayStart ": 20, "fnInitComplete": function () { oTable.fnAdjustColumnSizing(); }, 'fnServerData': function (sSource, aoData, fnCallback) { $.ajax ({ 'dataType': 'json', 'type': 'POST', 'url': sSource, 'data': aoData, 'success': fnCallback }); } }); }); </script> </body> </html>