我的服务器上有一个简单的 PHP 脚本,它应该下载给定的文件。如果我直接使用http://myDomain/download.php?filename=mini.gpx调用它,它工作正常
下载.php:
<?php
$dir = 'download/';
$file = $_GET['filename'];
$fqn = $dir . $file;
$fileSize = filesize($fqn);
header("Content-Type: text/xml");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-Length: $fileSize");
readfile($fqn);
?>
但我想从 JavaScript 开始这个脚本。所以我试着用 httpRequest 来做:
function downloadGPXfile(fn) {
let script = `downloadGPXfile.php?filename=${fn}`;
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
console.log("state downloadGPXfile: ", this.readyState);
console.log("status: ", this.status);
};
xhr.open('GET', script, true);
xhr.setRequestHeader('Content-Type', 'text/xml');
xhr.send();
}
尽管 AJAX 连接似乎成功,但下载对话框并未激活。我做错了什么?还是有另一种更简单的解决方案来开始下载?
慕码人8056858