В проекте Laravel я использую DataTable JS (с обработкой на стороне сервера) для отображения таблиц.Мне нужны некоторые пользовательские функции, для которых я хочу использовать API-интерфейс DataTable. Уже давно пытались что-то сделать, но я не могу очистить dataTable, чтобы вставить новые данные и перерисовать их.Можете ли вы помочь мне с этим.
Вот соответствующая часть моего кода JS
Инициализация Datatable
dt = $('#dataTable').DataTable({
'processing': true,
'serverSide': true,
'select': 'multiple',
'ajax': {
'url' :'{!! url('/') !!}/newOrderData',
'type': 'POST',
'headers': {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
},
'columns': [
{ 'data': 'id', 'name': 'id' },
{ 'data': 'name', 'name': 'name' },
{ 'data': 'area', 'name': 'area' },
{ 'data': 'estimate', 'name': 'estimate' },
],
"columnDefs": [
{ className: "orderId", "targets": [ 0 ] }
]
});
Попыткаочистить данные и перерисовать с помощью нового
$('#areas').change(function(){
var areaId = $(this).val();
var token = "{{ csrf_token() }}";
dt.clear().draw();
$.post('{!! url('/') !!}/newOrderData',{area: areaId,_token:token}, function(newDataArray) {
dt.rows.add(newDataArray); // Add new data
dt.draw();
});
});
Когда запускается обработчик события изменения, ничего не происходит, ошибок нет, таблица показывает знак обработки, но все остается тем же.
Я следил за этим вопросом .Но решение, похоже, не работает для меня.Пожалуйста, помогите.