我有一个用于文件下载的Java Servlet(取自本页面上的示例(Implementing a simple file download servlet),这些示例通常有效但不是通过查询启动时。
设置如下: 单击按钮(输入类型提交)时,将生成一个文件并将其存储在服务器上。响应被重定向到文件下载servlet,然后将生成的文件的内容流式传输到响应。 除非通过jQuery post函数调用启动下载过程,否则这种方法非常好。
在查看请求时,我能找到的唯一区别是请求的accept-header。这是jQuery帖子的 / 和' Accept:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp, / ; q = 0.8'表单提交请求。
这可能是决定性的区别吗?如果是这样,我该如何设定接受的内容?
这是js中帖子的函数调用:
$.post("path", {
action : "action",
ids: ids.toString()
}, null, "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
这是我设置内容配置的部分:
resp.addHeader("content-disposition:",
"attachment; filename=name.csv");
答案 0 :(得分:0)
浏览器不会像处理"正常"那样处理XHR响应。 HTTP请求。如果您的servlet正确设置了" Content-disposition"标题,然后你可以做一个普通的表格帖子。