Datatables.net Deep Objects

时间:2015-05-05 08:24:01

标签: javascript ajax datatables

我在这里关注深层对象示例: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:无法读取属性'长度'未定义"我认为它无法找到它试图获得财产的对象。

感谢您的帮助!!

1 个答案:

答案 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   兼容性)。