Laravel - 如何在弹出窗口中确认销毁方法?

Laravel - how to confirm destroy method in a popup?

我有多个表单可以从我的 Laravel 应用程序中删除数据,我想知道。我怎样才能通过必须确认删除这些项目来最好地使它对用户更友好?

这是我目前用来删除 table 中记录的代码(未经确认)。

<td class="col">
    <form action="{{ route('campaigns.destroy', $campaign->id) }}" method="POST">
        @csrf
        @method('DELETE')
        <button type="submit" class="btn btn-danger btn-sm float-right" title="Verwijderen">
            <i class="fa fa-times"></i>
        </button>
    </form>
</td>

这是我的销毁方法的样子

public function destroy(Campaign $campaign): RedirectResponse
{
    $campaign->delete();

    return redirect()->route('campaigns.index');
}

我试过的

我尝试使用 javascripts 原生 confirm() 函数。但结果真的很难看,所以这就是为什么它不适合我。

您可以使用sweetalert2

<td class="col">
   <button type="button" data-url="{{ route('campaigns.destroy', $campaign->id) }}" class="btn btn-danger btn-sm float-right" title="Verwijderen">
        <i class="fa fa-times"></i>
   </button> 
</td>

JS

$(document).on('click', '.btn-danger', function (e) {
    e.preventDefault();
    var url = $(this).data('url');
    var token = "{{ csrf_token() }}";
    swal({
            title: "Are you sure!",
            type: "error",
            confirmButtonClass: "btn-danger",
            confirmButtonText: "Yes!",
            showCancelButton: true,
        },
        function() {
            $.ajax({
                type: "POST",
                url: url,
                data: {_token: token, _method: 'DELETE'},
                success: function (data) {
                     //
                }         
            });
    });
});