Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery中下载文件_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何在jquery中下载文件

Javascript 如何在jquery中下载文件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在点击链接时发送了一个ajax请求,在收到响应后,我现在得到了一个PDF文件的URL。我想在用户系统上下载该特定文件。但我无法在用户系统上下载该特定文件。它正在浏览器URL上打开,我不想向用户显示PDF文件的url。我们如何在jquery中做到这一点 HTML <li><a href="javascript:void(0)" data-unid ="1" class ="cert_download">Download</a></li> 我不想向

我在点击链接时发送了一个ajax请求,在收到响应后,我现在得到了一个PDF文件的URL。我想在用户系统上下载该特定文件。但我无法在用户系统上下载该特定文件。它正在浏览器URL上打开,我不想向用户显示PDF文件的url。我们如何在jquery中做到这一点

HTML

<li><a href="javascript:void(0)" data-unid ="1" class ="cert_download">Download</a></li>
我不想向用户显示URL,甚至我也不想在新的选项卡/窗口中下载文件。当用户单击链接时,我想将文件下载到他的系统中
如何将文件下载给用户。请在这方面帮助我

只需使用打开新窗口即可

window.open('link to pdf', '_blank')
并将pdf与

header('Content-Disposition: attachment; filename=some.pdf')

一旦有人单击下载,窗口将立即关闭。

只需使用打开新窗口即可

window.open('link to pdf', '_blank')
并将pdf与

header('Content-Disposition: attachment; filename=some.pdf')
一旦有人单击下载,窗口将立即关闭。

这将适用于您:

function downloadURI(uri, name){
    var link = document.createElement("a");
    link.download = name;
    link.href = uri;
    $("#data_cert").html(link);
    link.click();
    $("#data_cert").html("");
}
这将适用于美国:

function downloadURI(uri, name){
    var link = document.createElement("a");
    link.download = name;
    link.href = uri;
    $("#data_cert").html(link);
    link.click();
    $("#data_cert").html("");
}

可能重复的@MeeneshJain我不想在新的选项卡/窗口中下载该文件。因此,这不是重复的。我说可能重复的它意味着它可以而且不能。我认为您可能必须从服务器端执行此操作可能重复的@MeeneshJain我不想在新的选项卡/窗口中下载该文件。因此,这不是重复的我说它的可能重复意味着它可能是,也不可能是,您可能必须从服务器端执行此操作