使用JQuery POST发送文件下载请求
Send file download request using JQuery POST
我正在重写一些过去使用GET的代码,并将其替换为POST。
下载URL曾经是对的GET请求
https://myurl/getfile?fileid=1234&filetype=pdf
现在,我把它改成
https://myurl/getfile
并将CCD_ 1放入POST主体中。
我用jquery的post方法做了这个:
function postCall(url, param) {
$.post(url, param);
}
服务器端是使用Java编写的,我尝试重用GET的旧代码,该代码将文件二进制写入servlet的流中。
然而,我的浏览器不会提示用户下载,这在GET中是常见的。
以前关于stackoverflow的帖子确实建议AJAX不应该用于文件下载。但对我来说,另一种方式是什么?不过,该请求不是由表单生成的。
非常感谢。
我建议在页面上创建一个表单(或使用jQuery动态创建一个),然后让该表单进行后期提交(在表单上使用jQuery的"submit"函数或"trigger('submit)")。这样,请求就不会在后台异步完成。如果"getfile"脚本以一个带有Contentdisposition:attachment的文件作为响应,那么它应该下载。
也就是说,我不确定浏览器在这种情况下会"提示"用户——这取决于浏览器(是否会出现保存下载的对话框,或者是否会在没有提示的情况下自动下载文件)。
相关文章:
- 显示IIS上javascript文件(SOAP请求)的XML响应
- asp.net网站文件下载历史记录
- Firefox,如何提交表单触发文件下载,但停留在网页上
- Interent Explorer中的数据URI文件下载
- 将页面上的文本替换为 jQuery 并提示文件下载
- JavaScript文件下载
- 是否可以触发文件下载到用户的浏览器
- Javascript JSON 到 Excel 文件下载
- 使用Javascript将多个文件下载为zip文件或文件夹
- 巴比伦JS-场景从本地文件下载
- 文件下载html与错误处理FileNotFound
- 使用jQuery捕获站点范围内的文件下载
- 在WinJS中将文件下载到文件系统
- JQuery启动文件下载,然后运行一个函数
- NodeJ将文件从请求流式传输到文件系统,而不是内存
- 文件下载无法在firefox上运行
- 创建文件下载js
- 如何使用JQuery禁用pdf文件下载选项
- Http 文件下载请求停止 JQuery ajax 调用
- 使用JQuery POST发送文件下载请求