我有一个 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"] etc..., "columns": ["col1","col2"] }
我究竟做错了什么。
谢谢, N