2017-10-11 145 views
0

我无法在DataTable中显示来自Django Rest Framework的json有效内容,我不知道为什么。我已经覆盖了序列化器来更好地格式化JSON有效载荷,但它仍然无法工作。DataTables Django Rest框架JSON

我可以验证JSON请求被解雇,并得到适当的信息反馈(可以在浏览器的控制台中看到),但是表说"No data to display"

这里是我的JSON有效载荷:

{"data":[ 
    {"product_name":"123", 
    "mdr_class":1, 
    "category":1, 
    "eo_role":1, 
    "division":1, 
    "created_by":"root"} 
    {"product_name":"1234", 
    "mdr_class":1, 
    "category":1, 
    "eo_role":1, 
    "division":1, 
    "created_by":"root"} 
    ... 
    ]} 

单线的JSON

{"data":[{"product_name":"123","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"1234","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"234234","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432134","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432134","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432134","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"}]} 

,并概述了AJAX调用我的HTML文件。

<table id="example" class="display"> 
<thead> 
    <tr> 
     <th>Product Name</th> 
     <th>MDR Class</th> 
     <th>Category</th> 
     <th>EO Role</th> 
     <th>Division</th> 
     <th>Created By</th> 
    </tr> 
<thead> 
<tbody> 
    <tr> 
     <td>1</td> 
     <td>2</td> 
     <td>3</td> 
     <td>4</td> 
     <td>5</td> 
     <td>6</td> 
    </tr> 
</tbody> 
<tfoot> 
    <tr> 
     <th>Product Name</th> 
     <th>MDR Class</th> 
     <th>Category</th> 
     <th>EO Role</th> 
     <th>Division</th> 
     <th>Created By</th> 
    </tr> 
<tfoot> 
</table> 

<script> 
$(document).ready(function() { 
    $('#example').DataTable({ 

     ajax: { 
     "processing":true, 
     url: 'http://localhost:8000/api/entry/?format=json', 
     "dataSrc":"", 
     }, 


     columns: [ 
      {"mData":"product_name"}, 
      {"mData":"mdr_class"}, 
      {"mData":"category"}, 
      {"mData":"eo_role"}, 
      {"mData":"division"}, 
      {"mData":"created_by"}, 
      ] 
     }); 


}); 

</script> 

再次 - 我可以看到在控制台中的JSON,但数据不显示。 我是否需要修改json如何呈现给DataTable?我很困扰。

回答

0

我已经想通了。 该脚本格式错误。 这是工作脚本

$(document).ready(function() { 
    $('#example').dataTable({ 

     ajax: { 
     url: 'http://localhost:8000/api/entry/?format=json', 
     }, 


     columns: [ 
      {data:"product_name"}, 
      {data:"mdr_class"}, 
      {data:"category"}, 
      {data:"eo_role"}, 
      {data:"division"}, 
      {data:"created_by"}, 
      ] 
     }); 


});