在 laravel 上使用 SWAL 和 ajax 执行并确认删除

Execute and Confirm delete using SWAL and ajax on laravel

当我在 swal 上单击确认按钮时没有任何反应,我不知道问题是否出在 ajax 代码上 或其他东西 但是当我从 swal 代码中删除 ajax 代码时它工作正常并显示 sweetalert 所以我认为问题来自 ajax

<script>
function deleteData(id) {
    swal({
            title: "Suppression",
            text: "Veuillez confirmer la suppression",
            type: "warning",
            showCancelButton: true,
            confirmButtonText: "Confirmer",
            cancelButtonText: "Annuler",
            reverseButtons: true
        }.then(function () {
            var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
            $.ajax({
                type: "DELETE",
                url: "{{url('eventment/type')}}/" + id,
                data: {
                    _token: CSRF_TOKEN
                },
                dataType: "JSON",
                success: function (results) {

                    if (results.success === true) {
                        swal("Done!", results.message, "success");
                    } else {
                        swal("Error!", results.message, "error");
                    }
                } //success
            });
        })

    ) //swal
} //deleteData
</script>

删除按钮

<button class="btn btn-danger" onclick="deleteData({{$type->id}})" >Supprimer</button>

路由文件

Route::delete('eventment/type/{id}','TypeController@destroy')->name('type.destroy');

控制器

public function destroy($id)
{
    $type = EventType::where('id', $id)->delete();

    return redirect()->to(route('admin.type.index'))->withFlashSucces('Le Type A Bien Etait Supprimé');
}

你可以不用 ajax.first 你的按钮把它做成一个表单


<form id="del_event" action="{{ route('type.destroy',$type->id) }}" method="post"style="display: inline;">
{!! method_field('delete') !!}
{{ csrf_field() }}
 <button class="btn btn-danger" type="submit" id="del_id">Supprimer</button>

</form

按钮有一个 id "del_id" 当它点击调用下面的函数时

<script>
        $("#del_id").on('click', function (e) {
            e.preventDefault();
            swal({
                title: "Suppression",
            text: "Veuillez confirmer la suppression",
            type: "warning",
            showCancelButton: true,
            confirmButtonText: "Confirmer",
            cancelButtonText: "Annuler",
            }).then((result) => {
                if(result) {
                    $("#del_event").submit();
                }
            }
        )
            ;
        });
    </script>

你的销毁函数

 $type=EventType::find($id);
 $type->delete();``