我有一个Spring MVC视图,该视图提供了一个excel文件,但是,我现在已经修改了过程,以便用户获得一个模式框,他们可以在其中选择一些选项,然后再下载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文件?
您无法使用Ajax响应来执行此操作。您需要重定向浏览器或在页面中呈现隐藏的iFrame来启动下载。