正如标题所提到的,我正在尝试通过href URL给出的PHP脚本下载一个与关联的mime类型一起提供的文件,然后重新加载同一页面,但是无法弄明白,这就是我所拥有的远:
<a id="viewAttachmentLink" href="/path/to/script.php?id=123">View Attachment</a>
<script type='text/javascript'>
jquery('#viewAttachmentLink').bind('click', function() {
if (myFunction()) {
window.location.href = "jquery(this).attr('href')";
setTimeout(location.reload(), 400);
} else {
return false;
}
});
</script>
使用此代码,它将重新加载页面,但似乎不会调用PHP脚本。
答案 0 :(得分:2)
正如评论中所提到的,我通过在链接中添加target="_new"
属性来解决此问题。因此,当单击链接时,它会将请求发送到远程php脚本到另一个窗口,该窗口将控制标头并开始下载文件,原始窗口将根据需要重新加载。
答案 1 :(得分:1)
我做了一个文件下载和状态更新(通过标题),如下所示:
<a id="downloadData">Download data...</a>
<script type="text/javascript">
$('#downloadData').on('click', function () {
$.ajax({
url: '/data',
method: 'GET',
success: function (data, textStatus, request) {
var output = request.getResponseHeader('output');
//refresh page here and use the output
//console.log(output);
var a = document.createElement('a');
var url = '/data';
a.href = url;
a.click();
//save file
},
error: function (e) {
console.log(e);
}
});
});
</script>