我试图在单击按钮时强制下载 txt 文件。内容是动态生成的,并存储在 javascript 变量中。单击按钮时不会出现下载窗口,但是 ajax 调用成功。我究竟做错了什么?
php:
<?php
$Proof = $_REQUEST["Proof"];
$proof = stripslashes($Proof);
$file = 'savedproof.txt';
file_put_contents($file, $proof);
header('Content-disposition: attachment; filename="'.$file.'"');
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header('Content-Description: File Transfer');
readfile($file);
?>
的JavaScript:
$("#save").click(function () {
var proof = $("#main").html();
$.ajax({
type: 'POST',
url: 'save-to-file.php',
data: {Proof: Proof},
dataType: "html"
});
}
或者,我尝试使用 window.location.href 但我无法将变量 Proof 传递给 php 文件。我试过这样的事情:
window.location.href ="download.php?Proof="+Proof;
尽管确实出现了下载对话框,但文件中只有变量 Proof 的开始部分。我在 Firefox 和 chrome 上测试了两种方式。