我有一个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行而且没有分隔为列。
在检查模式下,我可以看到 {“rows”:[[“Test1”,“Test2”],[“Test3”,“Test4”]等......,“列”:[“col1”,“col2”]}
我做错了什么。
谢谢, Ñ
答案 0 :(得分:0)
我认为你有一个数组数组:)
尝试
更改此
Cmd.CommandText = "SELECT FIRST(city) AS city, COUNT(habitants) AS h FROM [Sheet1$] WHERE city=@city GROUP BY city";
到此
columns: [columnset],
data: [rowSet]