使用ajax请求删除文件

Pet*_*ada 5 javascript php ajax file

我正在尝试使用 ajax 请求删除文件:

javascript:

function deleteFile(file_path)
{
    var r = confirm("Sure?")
    if(r == true)
    {
        $.ajax({
          url: 'delete_file.php',
          data: {'file' : file_path },
          method: 'GET',
          success: function (response) {
             alert('Deleted!');

          },
          error: function () {
             alert('Not Deleted!');

          }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

删除文件.php:

unlink($_GET['file']);
Run Code Online (Sandbox Code Playgroud)

成功则返回 true,但文件并未被删除。

jog*_*_pi 5

检查 AJAX 中的响应,最好是使用 JSON 数据来检查响应:

// Default AJAX request type is GET so no need to define  
$.ajax({
      url: 'delete_file.php',
      data: {'file' : file_path },
      dataType: 'json', 
      success: function (response) {
         if( response.status === true ) {
             alert('File Deleted!');
         }
         else alert('Something Went Wrong!');
      }
    });
Run Code Online (Sandbox Code Playgroud)

在 PHP 中这样做:

// First Check if file exists
$response = array('status'=>false);

if( file_exists('FILE_PATH/FILENAME') ) {
    unlink('FILE_PATH/FILENAME');
    $response['status'] = true;
}

// Send JSON Data to AJAX Request
echo json_encode($response);
Run Code Online (Sandbox Code Playgroud)

确保为unlink()函数提供带有文件名的完整路径