如何使用php从javascript触发文件下载

如何使用php从javascript触发文件下载,javascript,php,jquery,ajax,download,Javascript,Php,Jquery,Ajax,Download,我使用来自 但是文件没有下载。我只得到正常的ajax响应。如何使用javascript下载文件?我需要php脚本,因为我也想下载php文件或cgi脚本。使用ajax无法做到这一点。您可以在指向脚本的新窗口中打开表单,并在下载准备就绪时将其关闭 甚至可以使用javascript使用window.location在新窗口中打开脚本 <?php require('Service.php'); $service = new Service('config.json', getcwd() . '/

我使用来自


但是文件没有下载。我只得到正常的ajax响应。如何使用javascript下载文件?我需要php脚本,因为我也想下载php文件或cgi脚本。

使用ajax无法做到这一点。您可以在指向脚本的新窗口中打开表单,并在下载准备就绪时将其关闭

甚至可以使用javascript使用
window.location
在新窗口中打开脚本

<?php

require('Service.php');
$service = new Service('config.json', getcwd() . '/..');
if ($service->valid_token($_GET['token']) && isset($_GET['filename'])) {
    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary");
    header("Content-disposition: attachment; filename=\"" . basename($_GET['filename']) . "\"");
    readfile($_GET['filename']); // do the double-download-dance (dirty but worky)
}

?>
var filename = cwd + '/' + cmd.args[0];
$.get('lib/download.php', {filename: filename, token: token}, function(response) {
    console.log(response);
});