如何通过post回调函数触发下载提示

时间:2014-05-02 09:02:35

标签: php jquery post download

我想这是一个简单的问题,但无法弄清楚......这就是问题所在:

在前端,我将一些用户选择的数据导出到服务器以动态创建文件:

$("#export-button").click(function() {

$.post("'.$postUrl.'",{variable:exportSelection},
    function(data) {
        console.log(data);
    }
);});

然后,在我收到数据并在服务器上创建/保存文件后,我在php中执行以下操作:

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;}

我应该在后回调函数中做什么,而不是在控制台上打印以获得下载提示?

更新:好的 - 我刚刚意识到我的#export-按钮是一个没有href的锚标签...现在,当我指向服务器上的文件时,问题是当我点击时,它会跟随链接提示保存文件等,但它会在" new"之前到达文件。生成版本(因此在每次点击时使用先前的选择)

1 个答案:

答案 0 :(得分:0)

好的 - 我明白了。我只需要禁用指向任何地方的链接,然后执行:

window.location =' my_file_location.doc';

...在回调函数