2016-08-29 1 views
-1

Попытка загрузить в DataTable из запроса AJAX,DataTable не загружается - Uncaught TypeError: Не удается прочитать свойство 'длина' неопределенной

var url = '/my/url'; 
var table = $('#m_datatable').DataTable({ 

      'ajax': { 
       type: 'GET', 
       'url': url, 
       'data': function (d) {     
       return JSON.stringify(d); 
       } 
      } 

     }); 

HTML:

<table id="m_datatable" class="display" width="100%"> 
    <thead> 
      <tr> 
       <th>Id</th> 
       <th>Value1</th> 
       <th>Value2</th> 
      </tr> 
     </thead> 
    </table> 

Ajax возвращает запрос следующий JSON :

[ 
{ 
id: 1801, 
value1: 1224589451, 
value2: 1665229451 
}, 
{ 
id: 1802, 
value1: 1224589451, 
value2: 1665229451 
}, 
{ 
. 
. 
. 
} 
] 

DataTable показывает пустой и метательное следующее сообщение об ошибке в консоли:

Uncaught TypeError: Cannot read property 'length' of undefined http://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js 

ответ

2

Вы должны указать таблицу, что делать с данными, добавив:

, 
'columns': [{ 
    'data': 'id' 
}, { 
    'data': 'value1' 
}, { 
    'data': 'value2' 
}] 

... должен сделать это, надеюсь, что помогает. (Рабочий пример: https://jsfiddle.net/annoyingmouse/vvmcyacv/)

Смежные вопросы