我想动态生成href
<a>
标签,然后点击事件下载生成文件。将href动态链接到锚点标签然后调用点击事件
这是我的代码。
var bool = false;
$('#lnkDownloadPDF').click(function() {
if (bool == false) {
MakeAjaxRequest('POST', HomePageURL + 'DownloadPDFPath', '{"designID": "' + sessionStorage.getItem("designID") + '" }').done(function (result) {
bool = true;
$('#lnkDownloadPDF').attr('href', result.d);
$('#lnkDownloadPDF').attr('download', 'sample.pdf');
$('#lnkDownloadPDF').click();
});
}
});
<a id="lnkDownloadPDF" class="greenDownloadBtn" href="#">Download</a>
上面的代码工作,但我必须点击链接按钮两次下载指定的文件。
有没有更好的方法来实现?
MakeAjaxRequest是您创建的函数吗?我试图做一个小提琴,但它似乎有些部分在这里失踪。 – Yumecosmos
当你做了一个Ajax调用,你有两个选择:1:使用window.open与pdf链接,而不是尝试调用点击。 2: - 在第一次ajax调用之后,用适当内容编码的pdf的url进行另一次ajax调用,并处理js中的pdf内容以显示。 – Jas
@Yumecosmos是的,这是一个自定义函数,用于制作阿贾克斯调用 – Shaggy