以下是我的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/

07-28 04:13