我试图在两次回调之后在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...
我尝试改用dataSrc或其他处理选项,但没有一个起作用。
在for循环中是否可以选择多个加载数据或行?