需要访问 jquery 数据表中的 mData 嵌套值



下面是我的 api 响应,

{ "aaData":{"req":[{"requests":"132"}]}}

需要在jquery数据表中显示请求值 下面是我的代码,

"aoColumnDefs": [
{
"aTargets": [0],
"mData":"req[0].requests",
},

但是上面的代码不起作用,但如果将 API 响应更改为下面,

{ "aaData":{"req":"132"}}
"aoColumnDefs": [
{
"aTargets": [0],
"mData":"req",
},

上面的代码工作.....我如何从这种响应{ "aaData":{"req":[{"requests":"132"}]}}访问请求值,Anyhelp表示赞赏。

显而易见的答案是data.aaData.req

aaData: data.aaData.req,
aoColumnDefs: [{
aTargets: [0],
mData: 'requests',
sTitle: 'requests'
}]  

http://jsfiddle.net/0f9Ljfjr/973/因为没有其他选择。唯一合适的数据源是req项,因为它是一个对象数组。

但是,如果您实际上想要一个具有嵌套子项的aaData数据源,那么您的 JSON 应如下所示:

var data = { "aaData":[
{ "req":[{"requests":"132"}]} },
{ "req":[{"requests":"133"}]} }
]};

aaData对象数组,然后对子对象或数组索引使用点表示法:

var table = $('#example').dataTable({
aaData: data.aaData,
aoColumnDefs: [{
aTargets: [0],
mData: 'req.0.requests',
sTitle: 'requests'
}]  
})

http://jsfiddle.net/0f9Ljfjr/974/

根据dataTable的文档:https://datatables.net/examples/ajax/objects_subarrays.html

我认为您应该尝试像以下情况一样进行测试;(还没有测试过(

"aoColumnDefs": [
{
"aTargets": [0],
"mData":"req.requests",
},

如果我理解正确,那么您可以转向请求

responseBody.aaData.req[0].requests

您可以尝试如下

"aoColumnDefs": [
{
"aTargets": [0],
"mData":"req[0]["requests"],
}

而不是

"aoColumnDefs": [
{
"aTargets": [0],
"mData":"req[0].requests",
},

最新更新