ajax - 如何在数据表ajax中使用json返回的对象内部的数组列名?
问题描述
如果数据是对象内的数组,我试图弄清楚如何写数据的列名
如果 json 返回看起来像
"data" : {
"name" : "aaa"
}
我将使用此代码
ajax : {
url : url,
type : 'GET'
},
"scrollX" : true,
destroy : true,
columns : [ {
data : 'name'
}, ]
但是如果 json 返回看起来像
"data" : {
"detail" : [
{
"name" : "abc"
}
]
}
我尝试在下面编写此代码,但它不起作用,有人可以帮我解决这个问题
ajax : {
url : url,
type : 'GET'
},
"scrollX" : true,
destroy : true,
columns : [ {
data.detail : 'name'
},
]
解决方案
这是可以使用dataSrc
DataTables 选项的地方:ajax
ajax : {
url : url,
type : 'GET',
dataSrc: 'data.detail'
},
此选项告诉 DataTables 通过 JSON 的迭代应该从data.detail
对象数组开始。
通常,(如在您的第一个 JSON 示例中),您不需要此指令 - 因为起点假定为data
. 这是标准 jQueryajax
选项集的 DataTables 扩展。你可以在这里阅读更多关于它的信息。
相关部分是:
您可以使用 Javascript 点对象表示法来获取多级对象/数组嵌套的数据源。
编辑:
澄清一下:进行上述更改后,您可以再次使用原始方法来识别列数据:
columns : [
{ data : 'name' },
{ data : 'another_name' },
{ ... }
]
推荐阅读
- python - Geopandas:如何读取 csv 并转换为带有多边形的 geopandas 数据框?
- firebase - Google Firebase - 列出所有 item_names
- java - 从 jTable java.lang.ArrayIndexOutOfBoundsException: 1 > 0 中删除行时出现此错误
- python - 在熊猫系列的顶部和底部添加一个项目
- r - 如何从 R 中的多个基因列表生成相似度分数热图
- python - 如何提取 .docx 文件中 2 个或更多副本的图像
- javascript - 获取它实际使用的特定元素的宽度
- forms - Symfony 4 - ChoiceType 使用图标而不是文本标签
- filter - DAX 中的过滤器功能
- c# - 如何使用按钮更改图像框 | c# windows 窗体