2014-12-15 4 views
0

Я использую таблицу данных jquery для отображения результата. datatable делает вызов ajax для извлечения данных. Из журнала консоли видно, что данные извлекаются должным образом. Но он не отображается правильно. Я получаю сообщение об ошибке, какОшибка при использовании jQuery datatable

DataTables предупреждение (идентификатор таблицы = 'DataTable'): Requested неизвестный параметр '2' из источника данных для строки 1.

Есть 3 колонки в пользовательском интерфейсе. Столбец «Страна» заполняется столбцами «U» и «Name», заполняется «S». Где это должно быть «US» в столбце страны, имя банка во втором столбце и адрес в третьем столбце. Не уверен, что мне не хватает. Любая помощь приветствуется.

<table id="datatable" class="display dataTable"> 
    <thead> 
     <th>Country</th>        
     <th>Bank</th> 
     <th>Address</th> 
    </thead> 
    <tbody> 
    </tbody> 
</table> 
function searchBanks() { 
    initSearchTable(); 
    populateBanks(); 
} 

var oBankTable; 

function initSearchTable() { 
    oBankTable = $('#datatable').dataTable({ 
     "sAjaxDataProp": "bank", 
     "bPaginate": false, 
     "bFilter": false, 
     "bLengthChange": false, 
     "bInfo": false, 
     "bAutoWidth": false, 
     "bJQueryUI": true, 
     "bDeferRender": true, 
     "aoColumns": [ 
      { "mData": "country", sDefaultContent: "" }, 
      { "mData": "name" , sDefaultContent: ""}, 
      { "mData": "address" , sDefaultContent: ""} 
     ]   
    }); 
} 

function populateBanks() { 
    var endClientRequest = $.ajax({ 
     url: "../api/banks", 
     type: "GET", 
     dataType: "json" 
    }); 
    endClientRequest.done(function (response) { 
     oBankTable.fnClearTable(); 
     for(var i=0; i< response.bank.length ; i++) { 
      var tmp_bank = response.bank[i]; 
      console.log(tmp_bank.country + "**" + tmp_bank.name + "**" + tmp_bank.city + "**" + tmp_bank.address + "**" + tmp_bank.swiftBIC); 
      oBankTable.fnAddData(tmp_bank.country, tmp_bank.name, tmp_bank.city, tmp_bank.address, tmp_bank.swiftBIC); 
     }  

     return false; 
    }); 

    endClientRequest.fail(function (jqXHR, textStatus) { 
     console.log("request failed"); 
     show_error_dialog("Unable to connect to the server at present to retrieve the detail."); 
     return false; 
    }); 
    return false; 
} 

JSON ответ:

{ 
    "banks": [{ 
     "country": "US", 
     "name": "Bank1", 
     "address": "Address 1", 
    }, { 
     "country": "US", 
     "name": "Banks2", 
     "address": "Address 2", 
    } 
]} 

ответ

1

Вы, возможно, потребуется удалить "" после того, как адресный тег.

{ 
    "banks": [{ 
     "country": "US", 
     "name": "Bank1", 
     "address": "Address 1" 
    }, { 
     "country": "US", 
     "name": "Banks2", 
     "address": "Address 2" 
    } 
]} 

вы можете проверить в JSON http://jsonlint.com/

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