【问题标题】:Execute and Confirm delete using SWAL and ajax on laravel在 laravel 上使用 SWAL 和 ajax 执行并确认删除
【发布时间】:2020-03-09 09:49:02
【问题描述】:

当我在 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é');
}

【问题讨论】:

  • 更改 $type = EventType::where('id', $id)->delete();到 $type=EventType::find($id); $type->delete();
  • 同样的问题:/

标签: javascript jquery ajax laravel sweetalert


【解决方案1】:

你可以不用ajax。首先你的按钮使它成为一个表单


<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();``

【讨论】:

  • 它工作,但是当我点击删除按钮时没有确认警报
  • 我编辑了我的答案。请再次检查。 “=>”到“=>”中的空格前不需要空格
猜你喜欢
  • 1970-01-01
  • 2020-03-11
  • 2023-04-03
  • 2015-09-29
  • 2020-07-07
  • 2016-01-04
  • 1970-01-01
  • 1970-01-01
  • 2014-12-24
相关资源
最近更新 更多