我是EXTJS4.2和网络开发的新手,学习但需要深入了解我感到困惑的领域。
我的AJAX代码通过JSON输入参数调用POST REST API,它将下载PDF文件。
在我的研究过程中,一些用户表示不可能使用AJAX下载PDF,其他帖子建议使用AJAX和提交表格参数通过IFRAME下载PDF,
所以,我有点困惑,因为我不明白我需要做什么,我尝试了一些没有运气的事情。
有人可以提供一些有关可行性和不可行性以及如何实现此目的的背景信息,我是否可以将responseText写入文件?
我希望使用适用于所有浏览器的解决方案,因此让EXTJS解除这个。
不确定这有多大帮助,但这就是响应内容类型的样子
Transfer-Encoding: chunked
Content-Type: application/pdf;charset=utf-8
Content-Disposition: attachment;filename=1428140714.pdf
答案 0 :(得分:4)
虽然您可以通过Ajax下载文件,但是无法触发浏览器保存对话框,因此下载的文件只会保留在内存中。
幸运的是,解决方案很简单:您从客户端发布请求,target
是隐藏的iframe
。出现浏览器保存对话框,用户可以选择保存位置并保存文件。您可以在之后删除iframe。