这可能是一个糟糕的问题,因为我的项目可能存在问题,但是我希望从AJAX调用中更改标题可能是某人熟悉的问题。下面的PHP函数在同步调用时执行正常,但是当我从AJAX调用它时,它不会下载任何内容并返回200错误。
public function download_csv() {
$csv = 'hello, header';
header('Content-Disposition: attachment; filename="format.csv"');
header('Content-Type: text/plain');
header('Content-Length: ' . strlen($csv));
header('Connection: close');
echo $csv;
}
答案 0 :(得分:2)
据我所知,您无法使用ajax下载文件(安全原因) 我再次搜索,似乎这就是重点。
工作解决方案可能是使用用户不可见的iframe,并在需要下载文件时将其'src'属性设置为下载URL。
您还可以查看使用jquery插件的this answer here并且看起来很有希望(我自己没有尝试过)