用按钮sweetalert2删除行表php mysql ajax

如何解决用按钮sweetalert2删除行表php mysql ajax

我想用ajax删除表的某一行中的一本书,但我做不到。 我的PHP代码具有MVC结构 我的routeur index.PHP

    <?PHP
    session_start();
    define("URL",str_replace("index.PHP","",(isset($_SERVER['HTTPS']) ? "https" : "http").
     "://$_SERVER[HTTP_HOST]$_SERVER[PHP_SELF]"));

      require_once "controllers/BooksController.controller.PHP";
    $bookController = new BooksController;

         try{
           if(empty($_GET['page'])){
          require "views/welcome.view.PHP";
          } else {
            $url = explode("/",filter_var($_GET['page']),FILTER_SANITIZE_URL);

        switch($url[0]){
            case "welcome" : require "views/welcome.view.PHP";
            break;
            case "book" : 
                if(empty($url[1])){
                    $bookController->displayBooks();
                } else if($url[1] === "s") {
                    $bookController->deleteBook($url[2]);
                } else {
                    throw new Exception("not exist");
                }
            break;
            default : throw new Exception("not exist");
          }
       }
    }
    catch(Exception $e){
      $msg = $e->getMessage();
       require "views/error.view.PHP";
     }

In my views/books.view.PHP

    <?PHP 
     ob_start(); 
      if(!empty($_SESSION['alert'])) :
      ?>
      <div class="alert alert-<?= $_SESSION['alert']['type'] ?>" role="alert">
        <?= $_SESSION['alert']['msg'] ?>
    </div>
   <?PHP 
     unset($_SESSION['alert']);
    endif; 
     ?>
      <table class="table text-center">
         <tr class="table-dark">
           <th>Title</th>
           <th colspan="2">Actions</th>
        </tr>
         <?PHP 
             for($i=0; $i < count($books);$i++) : 
          ?>
         <tr>
           <td class="align-middle"><a href="<?= URL ?>books/l/<?= $books[$i]->getId(); ?>"><?= 
         $books[$i]->getTitle(); ?></a></td>
           <td class="align-middle">
              <button class="btn btn-danger" id="sweet" data-url="<?= URL ?>books/s/<?= $books[$i]- 
                 >getId(); ?>" data-id="<?= $books[$i]->getId(); ?>">Delete</button>
            </td>
            </tr>
           <?PHP endfor; ?>
     </table>
     <button type="button"  class="btn btn-secondary disabled">Sweet</button>

     <?PHP
       $content = ob_get_clean();
        $title = "Books";
        require "template.PHP";
      ?>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script>
        $(document).ready(function(){
        $(document).on('click','#sweet',function(e){
        var bookUrl= $(this).data('url'); // http://localhost/shop/books/s/5
        SwalDelete(bookUrl);
        e.preventDefault();
        });
      });
 
      function SwalDelete(bookUrl){
  
        Swal.fire({
           title: 'Delete this book ?',text: "the book was deleted in database !",icon: 'warning',showCancelButton: true,confirmButtonColor: '#3085d6',cancelButtonColor: '#d33',cancelButtonText: 'Cancel',confirmButtonText: 'Yes,delete it!',},function(isConfirm){
             if(isConfirm){
             $.ajax({
            url: bookUrl,type: "POST",success: function(resp){
              console.log('here cool !!! ');
                        window.location.href =bookUrl;
                    }
           })
          }
         return false;
      }
       );
 
      }
 
       </script>

当我单击“是,将其删除!”时按钮,弹出窗口已关闭,但我有任何操作要删除该行以及chrome导航器中我的控制台开发人员的任何错误。 传递给ajax的bookUrl是http:// localhost / shop / books / s / 5,但没有重定向到控制器,并且我没有错误消息。 有什么办法可以帮助我吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?