Моя кнопка в таблице создана:
return Datatables::of($members)
->addColumn('action', function ($id) {
return '<a href = "member/' . $id->id . '/edit" class = "btn btn-primary">Edit</a>
<button class = "btn btn-primary btn-delete" data-remote = "/admin/members/' . $id->id . '">Delete</button>
'; })->make(true);
js функция:
$('#datatable-member').on('click', '.btn-delete[data-remote]', function (e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name = "csrf-token"]').attr('content')
}
});
var url = $(this).data('remote');
alert(url);
$.ajax({
url: url,
type: 'DELETE',
dataType: 'json',
data: {method: '_DELETE', submit: true}
}).always(function (data) {
$('#datatable-member').DataTable().draw(false);
});
});
возврат отладочного предупреждения (например): / admin / members / 2
Маршрут такой:
DELETE | admin/members/{member} | members.destroy | App\Http\Controllers\Admin\MemberController@destroy | web
У меня в Консоль JS ошибка такая:
jquery-3.3.1.min.js:2 DELETE http://127.0.0.1:8000/admin/members/2 404 (Not Found)
... и, конечно же, удаление не работает ...
Если ему нужен POST, он покажет 405, так что DELETE, вероятно, правильный. Убедитесь, что маршрут существует, модель существует и что привязка маршрута настроена в действии контроллера.





измените свой маршрут на "POST" и попробуйте. Поделитесь результатами.