jquery 为什么DataTable只显示Array的第一行

snz8szmq  于 2022-12-12  发布在  jQuery
关注(0)|答案(1)|浏览(142)

我正在使用datatables.net中的DataTable。我使用 AJAX 和PHP动态填充DataTable。问题是只有Ajax响应/数组中的第一行显示在DataTable中。我花了两天时间浏览Internet,但没有找到解决问题的方法。
正如您在下面看到的,我得到了一个 AJAX 响应,我通过循环创建了一个名为'displayresult'的数组。该数组使用array. push填充。数组的值用于填充DataTable。正如前面提到的,DataTable中只显示数组的第一行。
数组如下所示:
[{《1》:“201909074”,《2》:“吉姆是个很酷的家伙”,《4》:“2019-06-05”},
{“1”:“201906753”,“2”:“简是个很酷的女孩”,“4”:“2019-04-30”},
{“1”:“201906648”,“2”:“佛佛是一只很酷的狗”,“4”:“2019-04-26”}]

$.ajax({
  url: '../../core/search/get_general_search.php', 
  data:{sok:sok}, 
  dataType: 'json', 
    success: function(response)
  {
     console.log(JSON.stringify(response));
   var searchResult = response;
   var displayresult = [];

    for (var i in searchResult)
    {
      var row = searchResult[i];

      var reference = row[1];
      var heading = row[2];
      var documentDate = row[4];

     displayresult.push(reference, heading, documentDate);
    }   

    $('#result_table').DataTable({
      "responsive": true,
      "searching": false, 
      "aaData": [displayresult]
        });     
  }
}); //end ajax
yws3nbqq

yws3nbqq1#

需要将对象而不是值推入数组

displayresult.push({reference, heading, documentDate});
 $('#result_table').DataTable({
  "responsive": true,
  "searching": false, 
  "aaData": displayresult
    });     
 }

相关问题