Передача идентификатора со стороны сервера в этом случае не будет работать. Вы должны получить идентификатор для каждой строки на стороне клиента.
Пример
<table id="data-table" class="table table-striped table-bordered dt-responsive nowrap dataTable no-footer dtr-inline collapsed">
<thead>
<tr>
<th>Username</th>
<th>E-Mail/th>
<th>First name</th>
<th>Last name/th>
<th>Role</th>
<th>Enabled</th>
<th>Created at</th>
<th>Action</th>
</tr>
<tfoot></tfoot>
</table>
const table = $('#data-table').DataTable({
'processing': true,
'serverSide': true,
'language': {
'url': __('js/datatable-english.json')
},
'ajax': {
'url': 'users/list',
'type': 'POST'
},
'columns': [
{'data': 'username'},
{'data': 'email'},
{'data': 'first_name'},
{'data': 'last_name'},
{'data': 'role'},
{'data': 'enabled'},
{'data': 'created_at'},
{
'orderable': false,
'searchable': false,
'data': null,
'render': function (data, type, row, meta) {
return '<button type="button" class="btn btn-info">Edit</button>';
}
}
],
});
$('#data-table tbody').on('click', 'button', table, function () {
const data = table.row($(this).parents('tr')).data();
//alert('Edit user: ' + data.id);
Swal.fire({
title: 'Emin Misiniz?',
text: "Mülk sonsuza dek silinecektir!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Evet, silinsin!',
cancelButtonText: 'Hayır, vazgeç!'
}).then(function (result) {
if (result.value) {
$.ajax({
url: "sil.php",
type: "POST",
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify(data)
}).done(function (result) {
alert('done');
//location.reload();
});
}
}
)
});