我构建了一个小的PHP脚本,通过定义相应的标题创建Excel电子表格并强制下载。当我直接通过其URL调用此脚本时(甚至通过带有window.location.replace
的JS),一切正常。
现在,当我通过Ajax调用(同步和异步)调用相同的脚本时,没有任何反应。
有人可以解释这种行为吗?
关心塞巴斯蒂安
答案 0 :(得分:1)
AJAX请求在后台处理,因此下载标题将被忽略并仅传递给您的回调。
如果您想强制下载文件而不将其重定向到您可以
的页面将网址https://stackoverflow.com/下载为“stackoverflow.html”的示例:<a href="https://stackoverflow.com/" download="stackoverflow.html">Click me!</a>
将文本“test”下载为“file.txt”的示例:
<a href="data:text/plain;base64,dGVzdA==" download="file.txt">Click me</a>
(其中dGVzdA==
是“test”base64-encoded)
注入两个标签后,您可以使用例如jQuery模拟用户点击它们。