我在这里关注深层对象示例:https://datatables.net/examples/ajax/deep.html
我可以通过示例数据使一切正常运行。但是,在尝试整合我自己的数据时,我遇到了问题。给定的Ajax数据格式为:
Font font = ...
textArea.setFont(font);
将列定义为:
{
"data": [
{
"name": "Tiger Nixon"
}
]
}
我的数据具有相同的布局,但我有不同的根名称
"columns": [
{ "data": "name" }
]
将列定义为:
{
"root": [
{
"name": "Tiger Nixon"
}
]
}
是"数据"关键字固定?或者它只是默认值,我需要在某处重新分配它?
我收到的错误是:"未捕获的TypeError:无法读取属性'长度'未定义"我认为它无法找到它试图获得财产的对象。
感谢您的帮助!!
答案 0 :(得分:1)
如果您的JSON数据如下:
{
"root": [
{
"name": "Tiger Nixon"
}
]
}
您的DataTables初始化代码应为:
$('#example').DataTables({
'ajax' : {
'url': '/server/script.php',
'dataSrc': 'root'
},
'columns': [
'data': 'name'
]
});
从手册:
作为一个字符串, ajax.dataSrc 从数据源对象定义属性(即返回的属性) 通过Ajax请求)来阅读。它默认为数据的
data
属性 源对象(如果aaData
不存在向后,则为data
兼容性)。