Datatables Django обновление таблицы - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь обновить таблицу 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


         })

     
      }


    });


})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...