javascript - JavaScript 数据表不返回数据
问题描述
我可以在数据表中看到项目,但第一行是表中没有数据?
(document).ready(function() {
$('#callback_table').DataTable({
"paging": "input",
"ajax": {
"type": "GET",
"url": '/History/GetCallbackHistory',
"data": {
UserId: document.getElementById("callbackuserid").value
},
"dataSrc": "",
"success": function(response) {
alert("111Done!");
response.forEach(function(dt) {
$("#tdata").append("<tr>" +
"<td>" + dt.Id + "</td>" +
"<td>" + dt.DateCallback + "</td>" +
"<td>" + dt.DateEnd + "</td>" +
"<td>" + dt.Point + "</td>" +
"<td>" + dt.TaskId + "</td>" +
"<td>" + typecallback[dt.callbackId] + "</td>" +
"<td>" + dt.Task_name + "</td>" +
"<td>" + callbackStatus[dt.callbackStatus] + "</td>" +
+"</tr>");
});
}
},
});
// fillTable(getData());
});
解决方案
一些注意事项:
success
(1)使用 DataTables 的选项加载数据时,不应覆盖该ajax
选项。DataTables 使用它,在幕后绘制表格。
(2) 您不应该像您正在做的那样通过将数据附加到 DOM 来向 DataTables 添加行。DataTables 对此数据一无所知。
注 (2) 解释了为什么您可以看到您的数据 - 您已将其添加到网页中。
注 (1) 解释了为什么 DataTables 报告“表中没有数据”:尝试加载数据时卡住了。
我希望您也会在浏览器的控制台中看到相关错误(按 F12 访问它)。
因此,您可以改为使用 DataTables 内置的 JSON 数据加载器。success
首先从 DataTablesajax
选项中删除该部分。这可能是您需要做的所有事情,或者您可能会遇到新问题,具体取决于 JSON 的结构方式和表列的定义方式。
在您的情况下,您提供了"dataSrc": ""
选项 - 这意味着 DataTables 期望您的 JSON 响应是一个未命名的数组:[ ...data... ]
。
推荐阅读
- angular - Angular 7 路由保护不起作用
- c - 在 TI XDAIS 算法中使用 const、静态 const 或全局变量的正确方法
- docker - Cloudera 管理器未运行
- python - 在熊猫中第一次达到某个值的最有效方法是什么?
- search - Kotlin如何通过with子句组合不同的接收器而不重复它
- node.js - Node JS PostgreSQL TypeError:无法读取未定义的属性“then”
- django - 如何制作:在文本字段中输入“输入”会导致段落中断?
- javascript - 我将如何通过将 MySQL 数组与另一个数组进行比较来更改它?
- swift - 如何在集合视图中制作图像半径?
- mysql - MariaDB 10.3.14 RANK() OVER 函数抛出语法错误