Я пытаюсь обновить таблицу DataTables так, чтобы изменились и столбцы, и строки. Я работаю с DJANGO 2 и хотел бы обработать вызов AJAX вне Datatables.
Мое представление на основе функции Django возвращает следующую строку JSON, которая выглядит хорошо сформированной:
[{"myvar1":"myval1"},{"myvar1":"myval2"} ]
Я могу правильно удалить таблицу Datatables и воссоздать новую таблицу.
Я могу правильно извлечь столбцы из данных JSON и назначить их новой таблице Datatables.
Однако данные не будут загружаться, вместо этого я получаю следующую всплывающую ошибку:
"Предупреждение DataTables: идентификатор таблицы = пример - неверный JSON ответ. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/1"
Я пытался изучить это но не может решить проблему, любые предложения приветствуются.
В консоли выводится следующее сообщение: "jquery .dataTables. js: 3952 Uncaught TypeError: Невозможно установить свойство 'data' из null"
$("#myform").change(function () {
// get the values from the form
var dset = $("#mydset1").val();
var sub = $("#mysub").val();
$.ajax({
type: "POST",
url: '/myajax/' ,
data: {ajax_sub:sub,ajax_dset:dset,pk:{{pk3}},
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function(jsondata){
var newdat = JSON.parse(jsondata.var2)
var columns = [];
$.each(newdat[0], function (key, value) {
var my_item = {};
my_item.title = key;
my_item.data = key;
columns.push(my_item);
});
$('#example').DataTable().destroy();
$("#example").empty().remove();
$('#table_div').append('<table id="example"> </table>');
$('#example').DataTable( {
"serverSide": true,
columns: columns,
data: newdat
})
}
});
})