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

时间:2017-08-21 06:45:20

标签: javascript jquery datatables

以下是我的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赞赏..

4 个答案:

答案 0 :(得分:1)

明显的答案是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/

答案 1 :(得分:-1)

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

我认为你应该尝试测试; (尚未测试)

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

答案 2 :(得分:-2)

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

responseBody.aaData.req[0].requests

答案 3 :(得分:-3)

您可以尝试以下

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

而不是

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