Я использую DataTables для успешного отображения некоторых данных JSON. Я хочу перезагрузить источник данных с помощью немного другого JSON, но я получаю ошибки.
Я звоню в DataTables с этой строкой:
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/jqc-1.12.4/dt-1.10.18/datatables.min.js"></script>
И я инициализирую DataTables с помощью этого кода JS:
$(function(){
var apiUrl = '/api/people.php';
var table = dt('#peopleTable').dataTable({
ajax: {
dataType: 'text',
type: 'POST',
url: apiUrl,
dataSrc: function (json) {
return $.parseJSON(json);
}
},
columns: [...] // column definitions here
});
Пока все это работает нормально, никаких проблем. Проблемы заключаются в следующем ...
Итак, у меня есть обработчик кликов:
$('.people-type').on('click', function(){
var id = $(this).data('id');
table.ajax.url(apiUrl + '?type=' + id).load();
table.draw();
});
Когда запускается этот обработчик кликов, мне говорят, что table.ajax is not defined
. Действительно, console.log(table);
показывает то же самое, хотя кажется, что table
связан с чем-то, что выглядит как объект DataTables:
Документация говорит мне, что мой код правильный: https://datatables.net/reference/api/ajax.url().load()#Example
Но, очевидно, в моих DataTables нет метода ajax. Кто-нибудь может объяснить, что здесь происходит?