jquery - 如何从 jQuery 获取 ajax 请求下载 Excel

标签 jquery ajax spring excel spring-mvc

我有一个 Spring MVC View ,它提供了一个 Excel 文件,但是,我现在修改了该过程,以便用户获得一个模式框,他们可以在下载 Excel 之前在其中选择一些选项。这些选定的选项将发送到 View 。

我的请求是这样的

$.get("downloadExcel", {  
    'foo': 'bar'
});

当发出该请求时,我希望下载该文件,但是,这没有发生。即使上述请求的响应 header 是:

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 才能启动下载。

关于jquery - 如何从 jQuery 获取 ajax 请求下载 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13446190/

相关文章:

javascript - JavaScript 简写?用于制作变量?

javascript - SetInterval中的长AJAX请求如果长于间隔是否会终止

ajax - Grails/Dojo进度栏从 Controller /服务获取进度

spring - EHCache:缓存简单已经存在

java - 来自 Spring MVC 中 LocalDateTime(java 8) 的 Json 字符串

php - 使用 jQuery、PHP、MySQL 选择值

jquery - Jquery中求和两个值的问题

javascript - jQuery UI 多选

javascript - 下拉值不被保留

javax.imageio.IIOException : I/O error writing PNG file 异常