【问题标题】:Populate Data into Columns of Datatables将数据填充到数据表的列中
【发布时间】:2017-01-30 13:17:12
【问题描述】:

我从服务器获得一个 json 对象响应,但无法将数据呈现到列中。 感谢您的帮助。

JSON OBJECT RESPONSE:
{
"CHD2": {
"POSName": "CHANDIGARH INDU. AREA-I",
"HODB": "QSR_PHASE-I_CHANDIGARH"
},
"D002": {
"POSName": "DEHRADUN-ASTLEY HALL",
"HODB": "QSR_DEHRADUN_ASTLEY"
},
"J002": {
"POSName": "VAISHALI NAGAR",
"HODB": "QSR_VAISHALI_NAGAR"
}
}

JQUERY 脚本

<script>
    $(document).ready(function() {
    console.log('Initializing tables...');
    var <a href="//legacy.datatables.net/ref#aaData">aaData</a> = [];
        $('#dataTables-example').DataTable({
            responsive: true,
            processing: true,
            serverSide: true,
            data : aaData,
            ajax: {
                url:'http://localhost:81/reporting/outletList.php',
                type:'POST',
                dataType:'json',
                dataSrc : "",
                error: function(errorThrown){
                    alert(errorThrown);
                    alert("There is an error with AJAX!");
                },
            "success": function(data) {
                                console.log(data);
                aaData.push([
                        data['CHD2'].POSName,
                        data['CHD2'].HODB
                    ]);
                aaData.push([
                    data['D002'].POSName,
                    data['D002'].HODB
                ]);
                data = aaData;
                console.log(data);
            }},
            /*columns: [
                { data: "POSName"},
                { data: "HODB"}
            ],*/
            "language": {
            "zeroRecords": "No records to display"
            }
            })
        });
    </script>



<div class="panel-body">
     <table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example">
     <thead>
     <tr>
     <th>POSName</th>
     <th>HODB</th>
     </tr>
     </thead>

仍然无法正常工作。 Chrome 的开发者工具中有 JSON 对象响应,但表格中没有填充数据。

【问题讨论】:

  • 你让你的代码变得非常复杂,你可以用简单的方式处理它......请写下你的 html 或者你想要更新你的 json 响应的 DIV 或 SPAN 类名
  • 不清楚你想在哪里显示(渲染)你的数据。您可能希望使用 javascript(使用检索到的数据)创建新的 html 表格标记并附加到页面上的某个位置。
  • 您好,我已经添加了用于呈现数据的 HTML 代码。数据表 id 是#dataTables-example

标签: jquery json datatables


【解决方案1】:

这样的事情应该可以工作:

let data = {
    "CHD2": {
      "POSName": "CHANDIGARH INDU. AREA-I",
      "HODB": "QSR_PHASE-I_CHANDIGARH"
    },
    "D002": {
      "POSName": "DEHRADUN-ASTLEY HALL",
      "HODB": "QSR_DEHRADUN_ASTLEY"
    },
    "J002": {
      "POSName": "VAISHALI NAGAR",
      "HODB": "QSR_VAISHALI_NAGAR"
    }
  },
  dataArray = [];

for (let item in data) {
  let row = {
    "Name": item
  };
  for (let element in data[item]) {
    console.log(data[item][element]);
    row[element] = data[item][element];
  }
  dataArray.push(row);
}
console.log(dataArray);

完成后rows 应该代表您的数据。工作 JSFiddle here.

【讨论】:

  • 您好,感谢您的回复。我正在获取包含 3 个字段的 dataArray,但该表没有被填充。它显示“处理”。您能否检查我的 html 代码是否有任何问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-18
  • 2018-12-14
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多