点击同一按钮发布和下载?

时间:2015-04-20 13:21:07

标签: php jquery csv

是否可以使用AJAX进行POST,然后在成功时强制下载响应?

我的代码:

$(document).on("click", "#CSV", function () {

    var csv_value = $('#result').table2CSV({
        delivery: 'value'
    });
    console.log(csv_value);
    $.ajax({
        type: "POST",
        url: "csv.php",
        data: {
            csv: csv_value
        },
        success: function (html) {
          //Download
        }
    });

});

正如您所看到的,我将HTML表格转换为CSV,然后将其发布到我要生成php文件的.csv文件中这不可能使用JS。

php脚本。

$file = $_POST['csv'];
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
$csv_output=stripcslashes($_POST['csv']);
print $csv_output;
exit;

我可以从我的成功功能开始下载吗?

1 个答案:

答案 0 :(得分:2)

我认为最简单的方法是将用户重定向到下载页面,如下所示:

success: function (html) {
  window.location.href = "your/download/path/file.php";
}

在此文件中,您准备下载。