7

正如标题所提到的,我正在尝试通过 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 脚本。

4

2 回答 2

2

正如评论中提到的,我能够通过向target="_new"链接添加属性来解决这个问题。因此,当单击链接时,它将向远程 php 脚本的请求发送到另一个窗口,该窗口将控制标题并开始下载文件,并且原始窗口将根据需要重新加载。

于 2012-12-10T23:10:26.583 回答
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>
于 2018-03-20T13:28:16.423 回答