数据表,Javascript和Json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据表,Javascript和Json相关的知识,希望对你有一定的参考价值。

我有一个Django Python webapp,我有一个功能:

def showreport(newrequest) :
        rep1 = get_report_data(newrequest,2)
        data={['columns':rep1[0],'rows':rep1[1]}
        return JsonResponse(data,safe=False)

我在html页面中从javascript调用此函数,数据返回是一个包含两个元素的数组,1表示列,另一个表示数据。

我想在HTML页面中显示DataTable对象中的数据,并且由于列和数据是动态的,我想动态创建DataTable

在HTML中

在JavaScript $(document).ready(function(){

 $("#showresults").on('click', function(evt) {
  evt.preventDefault();
 $('#show_loading').show();
$('#theTable').hide();
froms = document.getElementById('startdate').value;
tos = document.getElementById('todate').value;        
    $.ajax({
            type: "POST",
            url: 'showreport',
            data: {
                'start_date' : froms,
                'end_date' :tos,
                   'csrfmiddlewaretoken': '{{ csrf_token }}'
            },
            success: function (data, textStatus, jqXHR) {

               $('#show_loading').hide();          
   var rowSet=data['rows'];
 var columnset =data['columns'];

       $('#theTable').DataTable({
    "processing": true,
    searching: false,
    paging: false,
   "bInfo" : false,
 columns:  [columnset]  ,
    data: [rowSet]
   } ); 
$('#theTable').show();

            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $('#show_loading').hide();
                alert("Error, please try again!");
            }
});  
        });    

    });

现在我遇到的问题是没有显示列,数据只显示1行而且没有分隔为列。

在检查模式下,我可以看到{“行”:[[“Test1”,“Test2”],[“Test3”,“Test4”]等......,“列”:[“col1”,“col2”] }

我究竟做错了什么。

谢谢,N

答案

我想你有一个数组的数组:)

尝试

改变这一点

columns: [columnset],
data: [rowSet]

对此

columns: columnset,
data: rowSet

以上是关于数据表,Javascript和Json的主要内容,如果未能解决你的问题,请参考以下文章

AJAX 响应:数据(JSON、XML)还是 HTML 片段? [关闭]

实用代码片段将json数据绑定到html元素 (转)

微信小程序json数据如何处理?

如何从片段中的 JSON 响应中的对象获取数据

使用JavaScript在页面上显示JSON

Xitrum学习笔记08 - JavaScript and JSON