javascript - JQuery Datatables Ajax 动态列
问题描述
我正在尝试在其中使用 ajax 绘制数据表。如果我手动创建列的对象数组,它可以工作,但是当从 initComplete 创建列时,出现错误“无法读取属性 aDataSort”,我认为 initComplete 在绘制表格后工作,因为在cols数组中具有结束数据表初始化后的值。如何在 ajax 响应后创建列对象数组?
var columnArrayManual = [{"data": "column1"},{"data": "column1"}];
var cols = [];
tblClients = $("#tblClients").DataTable(
{
"ajax": {
"url": "/index.php?controller=controller&act=controllerMethod&ajx=1",
"dataSrc": "data",
type: 'POST',
"data": function (d) {
var a = arguments[0];
return a;
}
},
"initComplete": function (settings, json) {
$.each(json.data[0], function (i, item) {
var col = {"data" : i};
cols.push(col);
})
},
"columns": cols
}
)
解决方案
我试图从 dataSrc 中的 ajax 响应中填充数据,而不是数据表初始化
"ajax": {
"url": "/index.php?controller=controller&act=controllerMethod&ajx=1",
"dataSrc": function ( json ) {
// I have created object array here
return json.data ;
},
"type": 'POST',
"data": function (d) {
var a = arguments[0];
return a;
}
},
它奏效了!
推荐阅读
- excel - 当数据来自另一张表时,基于用户表单的自动填充表
- android - FloatingActionButton 未打开对话框
- github - 自动创建拉取请求
- php - Docusign - API 连接 JWT - 需要同意
- c# - 如何在“Listview”中的最后一首歌曲之后停止播放音乐
- c# - 我正在尝试使用带有回归的 ML.NET 创建一个简单的神经网络,它返回指定的数字,但它返回一个不同的数字
- c++ - 将数据从文件 (.csv) 插入变量的功能不起作用
- r - 在R中打开带有日期和时间的excel文件
- symfony - Symfony - API 平台 - Vich Uploader 和漏洞问题
- r - R/dplyr:汇总数据而不分组