DataTables加载含properties数组的JSON文件报错的解决咨询
解决DataTables加载自定义数组名JSON的错误问题
你的错误出在两个配置点上,直接修正即可:
错误原因分析
- 数据源指定错误:通过
ajax加载外部JSON时,不能用顶级data属性指定数组名,需要用ajax.dataSrc来告诉DataTables要读取的数组节点。 - 列配置错误:
columns里的字段映射始终用data属性,和JSON数组名无关,你改成"properties": "name"是无效配置。
正确配置示例
假设你的JSON文件结构是这样的:
{ "properties": [ {"name": "张三"}, {"name": "李四"} ] }
对应的DataTables配置修改为:
let myPeople= $('#myPeople_index').DataTable({ ajax: { url: '/user_public/people/data/myPeople.txt', dataType: 'json', dataSrc: 'properties' // 指定读取properties数组 }, "columns": [ {"data": "name"} // 保持data字段映射规则 ] });
补充说明
dataSrc的作用是从返回的JSON对象中提取表格需要的数组数据,默认值为'data',所以你之前用默认data数组时无需额外配置。- 错误提示
Cannot read properties of undefined (reading 'length'),是因为DataTables找不到预期的数组数据,尝试读取undefined的length属性导致的。
内容的提问来源于stack exchange,提问作者spreaderman
相关产品推荐
相关产品推荐

