DataTables JSON не обрабатывается (в Laravel) - PullRequest
1 голос
/ 12 апреля 2019

Datatables ничего не делает с запрошенным json

Я использую Datatables Яджры, чтобы заполнить мой стол, и я все сделал по книге.Контроллер настроен правильно, маршруты хороши (если я введу маршрут, назначенный для функции контроллера, которая создает базу данных, я смогу увидеть нужный json в нужном формате:

{"draw":0,
 "recordsTotal":44,
 "recordsFiltered":44,
 "data":[{
          "agency":"agency",
          "number":"20966512",
          "name":"Name John",
          "value":"28.22",
        }]
}

Это.js-код, который я использую для создания своей таблицы данных:

$(document).ready(function() {
  $('#tbl').DataTable({
    processing: true,
    serverSide: true,
    ajax: '{!! route("datatable") !!}',
    columns: [
        {data: 'agency', name: 'agency'},
        {data: 'number', name: 'number'},
        {data: 'name', name: 'name'},
        {data: 'value', name: 'value'},
    ]
  });
});

Я получаю сообщение об ошибке:

Предупреждение DataTables: table id = tbl - Ошибка Ajax. Для получения дополнительной информацииоб этой ошибке см. http://datatables.net/tn/7

Когда я смотрю в консоль, я получаю следующую ошибку:

{
"message": "",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/home/vagrant/Projects/Uniqa-ACB/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
"line": 179,
"trace": etc...
}

Laravel 5.8, PHP 7.3, Yajra DT: 6,datatables.net: 1.10

Заранее спасибо, если вам понадобится еще какой-нибудь код, я с удовольствием его введу.

Ответы [ 2 ]

1 голос
/ 12 апреля 2019

Маршрут, который пытался получить доступ, содержал полный JSON с какой-то странной кодировкой, я изменил маршрут на «/ datatables» напрямую и, как рекомендовано ниже, я также указал тип записи на GET, и теперь таблицы будучи заселенным. спасибо.

1 голос
/ 12 апреля 2019

замените ajax этим

ajax: {
    "url": "{!! route("datatable") !!}",
    "type": "POST",
  }
...