首页 > 解决方案 > 使用带有 laravel 6 的 sweetAlert 确认删除数据

问题描述

当我单击删除按钮时,我正在尝试使用甜蜜警报在我的应用程序中创建删除确认,因此我在控制台上遇到错误 Uncaught TypeError: Cannot call a class as a function

请建议如何解决此错误?

错误图像

控制器

                  public function destroy($id)
                  {
                  $delete = Digitizing::where('id', $id)->delete();
                  if ( $delete == 1) {
                  $success = true;
                  $message = "User deleted successfully";
                  } else {
                  $success = true;
                  $message = "User not found";
                  }        
                  }

HTML 视图

                           <a class="btn btn-danger" onclick="deleteConfirmation({{$digitizing- 
                           >id}})">Delete</a>



                             <script type="text/javascript">
                             function deleteConfirmation(id) {
                             swal({
                            title: "Delete?",
                            text: "Please ensure and then confirm!",
                            type: "warning",
                            showCancelButton: !0,
                            confirmButtonText: "Yes, delete it!",
                           cancelButtonText: "No, cancel!",
                           reverseButtons: !0
                           }).then(function (e) {

                         if (e.value === true) {
                         var CSRF_TOKEN = $('meta[name="csrf- 
                        token"]').attr('content');

                         $.ajax({
                         type: 'POST',
                         url: "{{url('/delete')}}/" + 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");
                        }
                        }
                        });
                        } else {
                         e.dismiss;
                          }
                           }, function (dismiss) {
                           return false;
                           })
                           }
                           </script>

标签: laravel

解决方案


这是因为swal({您的代码的一部分。Swal 是类的名称。您将需要将其替换为Swal.fire(.

另外,请注意,您的 php 代码将$success = true;在这两种情况下返回。您可能还想更新它。


推荐阅读