数据表未在回调上加载数据

时间:2018-11-15 13:10:15

标签: javascript jquery datatables

我试图在两次回调之后在jQuery Datatable中显示数据。

原始数据包括分页,所以我必须打多个电话才能收集所有数据并创建一个对象。

我可以在console.log中看到正确的数据,但是表中没有任何内容。

HTML:

  <table id="loadedTable" class="display table table-striped table-bordered table-hover table-responsive"
    cellspacing="0" width="100%">
    <thead>

      <tr>
        <th>id</th>
      </tr>

  </table>

JS:

function loadedMandates() {

  var loadedData = new Array;

  getNumberOfPagesWithData(function (totalPages) {

    for (let index = 1; index <= totalPages; index++) {
      getDataFromEachPage(1, function (obj) {

        $.each(obj, function (key, value) {
          loadedData.push(value);
        });
      });
    }

    console.log(loadedData);

    $("#loadedTable").DataTable({
      "processing": true,
      data: loadedData,
      columns: [{
        data: 'id'
      }]
    });

  });

}

function getNumberOfPagesWithData(callback) {
  var totalPages;
  $.getJSON(LOADED_GET_MANDATES, getData => {
    totalPages = getData.totalPages;
    callback(totalPages);
  });
}

function getDataFromEachPage(pageNo, callback) {
  var pageData = [];
  $.getJSON(LOADED_GET_MANDATES + 'getPageData/' + pageNo, getData => {
    pageData = getData;
    callback(pageData);
  });
}

console.log

0: {id: "e27kv65", thisId: "11111", name: "test1", …}
1: {id: "6bz38j4", thisId: "22222", name: "test2", …}
2: {id: "62wn7op", thisId: "33333", name: "test3", …}
etc...

Table

我尝试改用dataSrc或其他处理选项,但没有一个起作用。

在for循环中是否可以选择多个加载数据或行?

0 个答案:

没有答案