datatables предупреждение с действительными данными - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь инициализировать объект с данными, используя следующий код:

$(document).on('click', '.queued_auto_responders', function (event) {
  // queued_ids from the clicked row
  var queued_ids = $(this).attr('data-queued-ids').split(',');

  // Set the respective controls' values
  $.get("assets/php/get_queued_responders.php", {queued_ids: queued_ids})
    .done(function(n) {
      var table_queued_responders = $('#queued_auto_responders').DataTable({
        data: n,
        columns: [
          { data: 'send_date', title: 'Send Date'},
          { data: 'title', title: 'Title' },
          { data: 'markup', title: 'Action', createdCell:
            function (td, cellData, rowData, row, col) {
              $(td).html(cellData);
            }
          }
        ]
      });
    })
    .fail(function(n) {
      console.log(n.responseText);
    });
});

, и возвращаемыми данными является следующий JSON, что проверено Network> XHR> [file]> Response:

[
  {
    "send_date": "2019-01-17",
    "title": "...",
    "markup": "<a type=\"button\" class=\"d-block text-center text-danger\" href=\"assets/php/stop_queued_responder.php?queue_id=71\">Stop from Sending</a>"
  },
  {
    "send_date": "2018-06-01",
    "title": "...",
    "markup": "<a type=\"button\" class=\"d-block text-center text-danger\" href=\"assets/php/stop_queued_responder.php?queue_id=72\">Stop from Sending</a>"
  },
  {
    "send_date": "2018-06-11",
    "title": "...",
    "markup": "<a type=\"button\" class=\"d-block text-center text-danger\" href=\"assets/php/stop_queued_responder.php?queue_id=73\">Stop from Sending</a>"
  }
]

Возвращаемая ошибка:

Предупреждение DataTables: идентификатор таблицы = queued_auto_responders - запрошенный неизвестный параметр 'send_date' для строки 0, столбца 0. Для получения дополнительной информации об этой ошибкесм. http://datatables.net/tn/4

Всякий раз, когда я следую по URL-адресу в сообщении об ошибке, он указывает на Параметр - это строка типа String , в которой говорится, что ошибка обычно заключается в следующем:

  • Указанное свойство данных не существует (опечатка или пробел в данных)
  • Значение указанного свойства равно нулю

, но по мере того, как вымогу судить по возвращенным данным, мои данные соответствуют любому из этих двух условий.Я также проверил, что возвращенные данные соответствуют формату данных для категории Объект .

Так почему я получаю эту ошибку?

ОБНОВЛЕНИЕ

Это разметка таблицы, которую я пытаюсь инициализировать:

<table class="table" id="queued_auto_responders">
  <thead>
  </thead>
  <tbody>
  </tbody>
</table>

И я использую DataTables 1.10.16.

1 Ответ

0 голосов
/ 05 октября 2018

Попробуйте следующие изменения (понижен до более базового образца):

HTML MARKUP

<table class="table" id="queued_auto_responders">
    <thead>
    <tr>
        <th>Send Date</th>
    </tr>
    </thead>
</table>

JAVASCRIPT

$(document).ready(function()
{
    $(".queued_auto_responders").on('click', function(event)
    {
        // queued_ids from the clicked row
        var queued_ids = $(this).attr('data-queued-ids').split(',');

        // Set the respective controls' values.
        $.getJSON("assets/php/get_queued_responders.php", {queued_ids: queued_ids})
        .done(function(n)
        {
            console.log("Received data: ");
            console.log("Received type of data: " + typeof(n));
            console.log(n);

            var table_queued_responders = $('#queued_auto_responders').DataTable({
                data: n,
                columns: [
                    {data: 'send_date'}
                ]
            });
        })
        .fail(function(n)
        {
            console.log(n.responseText);
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...