2016-01-26 2 views
-1

Моя проблема - это ошибка datables для параметра 0 строка 0 столбец 0 datables.net/tn/4. Я использую ajax для извлечения моих данных и заполнения таблицы.Datatables param 0 строка 0 столбец 0 ошибка

вот Аякса

 $.ajax({ 
     url: 'DAL/WebService1.asmx/FabGuide', 
     method: 'post', 
     dataType: 'json', 
     success: function (data) { 
      console.log(data); 
      $("#datatable").dataTable({ 
       data: data, 
       columns: [ 
        { 'data:': 'accountCode' }, 
        { 'data:': 'accountValue' }, 
        { 'data:': 'description' }, 
        { 'data:': 'manufacturer' }, 
       ] 
      }); 
     } 
    }); 

Вот таблица

     <table id="datatable"> 
          <thead> 
           <tr> 
            <th>accountCode</th> 
            <th>accountValue</th> 
            <th>description</th> 
            <th>manufacturer</th> 
           </tr> 
          </thead> 
         </table> 

Вот что мой массив выглядит enter image description here

Может быть, я просто смотрел на нее, чтобы долгое Thanks

+0

У вас есть лишняя запятая после '{ 'данные:': 'производитель'}, // <- удалить comma'. Может ли это быть проблемой? –

+0

nope я тоже думал, что слишком –

ответ

0

Вы можете попробовать этот подход:

$.ajax({ 
    url: 'DAL/WebService1.asmx/FabGuide', 
    method: 'post', 
    dataType: 'json', 
    success: function (data) { 
     var arrData = []; 
     data.forEach(function(item){ 
      var aux = []; 
      aux.push(item.accountCode); 
      aux.push(item.accountValue); 
      aux.push(item.description); 
      aux.push(item.manufacturer); 
      arrData.push(aux); 
     }); 
     $("#datatable").dataTable({ 
      data: arrData, 
      columns: [ 
       { title: 'accountCode' }, 
       { title: 'accountValue' }, 
       { title: 'description' }, 
       { title: 'manufacturer' }, 
      ] 
     }); 
    } 
}); 

data атрибут возвращает массив элементов массива; проверьте документы: https://www.datatables.net/examples/data_sources/js_array.html

+0

ты мой друг хорош –

+0

Я рад помочь :) – Hackerman

-1

У вас есть опечатка в вашем коде инициализации - нет опции data:, она должна быть data.

Правильный код показан ниже:

// ... skipped ... 

$("#datatable").dataTable({ 
    data: data, 
    columns: [ 
     { 'data': 'accountCode' }, 
     { 'data': 'accountValue' }, 
     { 'data': 'description' }, 
     { 'data': 'manufacturer' } 
    ] 
}); 

// ... skipped ... 
+0

??? Думаю, вы действительно имели в виду 'dataSrc: ''', это был бы правильный ответ. Принятый ответ, нажимая все данные на другой массив, просто llame :) – davidkonrad

+0

@ davidkonrad, на самом деле, 'dataSrc: ''' не требуется, поскольку OP использует объект JavaScript в качестве источника данных. –