作者:无为小妮子_373 | 来源:互联网 | 2023-09-25 02:11
通常使用两个选项,但都不涉及AJAX。而且jQuery也不会有很大的帮助。
选项1:iFrame
在页面中放置一个 不可见的 IFrame:
当下载开始时(您没有提到它是如何触发的),请使用Javascript(可能还有jQuery)设置IFrame的URL,这与/getInvoice/approvalId/123
您的情况类似:
var iframe = document.getElementById("downloadFrame");
iframe .src = "/getInvoice/approvalId/123";
设置IFrame URL应该会触发浏览器显示下载对话框。
选项2:导航到下载URL
第二种选择更简单。只需导航到下载URL。一旦浏览器发现它是无法显示的MIME类型,它将显示一个下载对话框。
因此,当触发下载时,请执行以下Javascript代码:
window.location.href = "/getInvoice/approvalId/123";
注意
我不确定是否所有浏览器都会可靠地显示包含PDF文件的下载对话框。某些浏览器 可能会 尝试在浏览器本身中显示它。在Content-
Disposition
HTTP标头是有益的,但不能保证。