Bil*_*ill 1 javascript php ajax jquery
我有一个PHP脚本,可以从服务器下载PDF文件,并提示您打开它或保存它.该脚本接受一次性令牌,用于代替文件名,以隐藏文件名.
如果你去实际的php页面http://example.com/files/download/token脚本工作正常,它下载PDF.
我可以使用标准链接标记将人们发送到该页面,但是一旦文件下载,我需要更新该页面上通过该下载脚本返回的内容.
有没有办法让ajax调用打开一个新窗口,文件将下载,然后返回我需要更新当前页面的数据?
下载脚本还有更多内容,但主要部分是实际的下载部分:
header("Content-type: application/pdf");
$this->load->helper('file');
readfile("static/temp_statements/".$local_file_name);
unlink("static/temp_statements/".$local_file_name);
Run Code Online (Sandbox Code Playgroud)
我过去使用的一个可能对你有用的技巧是
而且您无需打开窗口即可实现此目的.你可以像这样附加一个不可见的iframe:
$(some selector).append($("<iframe width='1' height='1' frameborder='0' src='" + url + "'></iframe>"));
Run Code Online (Sandbox Code Playgroud)
为了诚实和透明,我最初从这个SO答案中找到了这个想法并且它对我有用:检测浏览器何时收到文件下载