Datatable,Javascript и Json
У меня есть веб-приложение Django Python, у меня есть функция:
def showreport(newrequest) :
rep1 = get_report_data(newrequest,2)
data={['columns':rep1[0],'rows':rep1[1]}
return JsonResponse(data,safe=False)
я вызываю эту функцию из javascript на странице HTML, возвращаемая информация - это массив с двумя элементами, 1 представляет столбцы, а другой - данные.
Я хочу представить на странице HTML данные в объекте DataTable, а поскольку столбцы и данные являются динамическими, я хочу динамически создавать DataTable.
В HTML
В JavaScript $(документ).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"] и т. Д..., "columns": ["col1","col2"]}
Что я делаю неправильно.
Спасибо н
1 ответ
Я думаю, у вас есть массив из массива:)
пытаться
изменить это
columns: [columnset],
data: [rowSet]
к этому
columns: columnset,
data: rowSet