无法使用AJAX / php删除文件

时间:2017-11-18 10:09:14

标签: php jquery ajax

如果我尝试删除不使用AJAX而只使用php的文件,它可以正常工作,但使用AJAX代码什么都不做。这是AJAX的代码。 index.php =>

<form method="post" action="include/delete.php" id="del-form">
       <input type="text" name="file-name" class="file-name-manager" required />
       <button class='btn-nav-class1'><i class='fa fa-trash-o fa-2x' aria-hidden='true'></i></button>
     </form>

delete.php =&GT;

<?php
session_start();
include_once 'dbh.inc.php';
$sessionid = $_SESSION['u_id'];
    $name = mysqli_real_escape_string($conn,$_POST['file-name']);
    $file = "../files/".$sessionid.'/'.$name;
    if(!unlink($file)){
      echo "File not deleted";
    } else {
      echo "File deleted";
    }
    header("Location: ../index.php?delete=success");

使用AJAX我使用了代码=&gt;

$("#del-form").bind('submit',function(e){
          $.ajax({url: "include/delete.php", success: function(result){
              alert("done");
          }
        });
          e.preventDefault();
          return false;

我想要的是删除文件而不重定向到delete.php并且必须重定向回index.php。但是在使用代码之后,它只显示警告消息并且不会删除该文件。

1 个答案:

答案 0 :(得分:0)

将您的ajax功能更改为此 -

                var fileName = $("[name='file-name']").val();

                 $.ajax({
                    type: 'post',
                    url: 'include/delete.php',
                    data: {
                     'file-name': fileName
                    },
                    success: function (response) {
                    //alert(response); 
                    console.log(response);
                    }
                }); 

并在delete.php中删除最后一个标题位置行。