我有一个提供excel文件的spring MVC视图,但是,我现在已经修改了这个过程,以便用户获得一个模式框,在下载excel之前他们可以选择一些选项。这些选定的选项将发送到视图。
我的请求看起来像这样
$.get("downloadExcel", {
'foo': 'bar'
});
当提出该请求时,我希望下载文件,但是没有发生。即使上述请求的响应头是:
Cache-Control:private, must-revalidate
Content-disposition:attachment; filename=filename.xls
Content-Language:en-US
Content-Type:application/vnd.ms-excel; charset=ISO-8859-1
Pragma:private
Server:Jetty(6.1.14)
Transfer-Encoding:chunked
注意:当我删除对话框以便请求不再是ajax请求时,一切正常。
问题
有没有办法通过ajax请求获取excel文件?
答案 0 :(得分:2)
您无法使用Ajax响应执行此操作。您需要重定向浏览器或在页面中呈现隐藏的iFrame以启动下载。