Uncaught TypeError: Невозможно прочитать свойство 'error' из null - PullRequest
0 голосов
/ 01 ноября 2019

Эта ошибка появляется, когда почтовый запрос не возвращает записи

var idgood=$('#good').val();
table = $('#alldata').DataTable({
    "responsive": true,
    "bDestroy": true,
    "bDeferRender": true,
    "aProcessing": true,
    "aServerSide": true,
    "ajax":{
        url: "src/design/controllers/processor.php",
        type: "POST",
        data: {"action": "list","id": idgood},
    },
    "aoColumns": [
            { 'mData': 'id',"visible":false },
            { 'mData': 'typevalue'},
            { 'mData': 'moneyvalue'},
            { 'mData': 'unitedvalue' },
            { 'mData': 'value' }
    ],
    "order": [[ 1, "asc" ]],
    "sPaginationType": "bootstrap",
    language: {"url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"},
    "bInfo": false,
    "bPaginate": false,
    "searching": false
});

Когда почтовый запрос возвращает записи, я не получаю ошибок.

1 Ответ

0 голосов
/ 01 ноября 2019

Вы вообще не обрабатываете вывод запроса ajax. Ajax-запрос должен иметь пост-действия, такие как success, done, fail.

. Вы пытаетесь присвоить значения, поступающие от вашего бэк-энда, и работают, когда у вас есть данные, но вы не обрабатываетев случае отсутствия данных.

Вам нужно что-то вроде:

let request = $.ajax({
    url: "src/design/controllers/processor.php",
    type: "POST",
    data: {"action": "list","id": idgood},
});

request.sucess(function(output) {
  //assign your values to a variable which will be inserted in your DataTable
});

request.fail(function(jqXHR, textStatus) {
  alert( "Request failed: " + textStatus );
});

Имейте в виду, что пустой ответ не означает, что запрос ajax не выполнен. Поэтому убедитесь, что вы рассматриваете этот случай так, как вам удобно.

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