使用PHP和jQuery生成并下载.csv文件

我想生成一个.csv文件,然后用AJAX下载它

Insite csv.php我有这个代码:

 

所以当我要去csv.php时,它会让我下载csv文件。

然后在test.php里面我有这个jQuery代码:

 $(document).on('click', '#listCSV', function() { var el = $(this), csv = el.attr('csv'); $.ajax({ type: 'POST', url: 'csv.php', data: { listCSV: csv }, success: function(data, textStatus, jqXHR) { el.html($(data)); } }); }); 

但当我点击#listCSV没有任何反应时,没有任何内容被下载

知道如何在点击#listCSV时下载csv文件吗?

  1. 生成csv文件并将其存储在目录中。 说:root / csv / file_timestamp.csv
  2. 生成文件时,只需在链接上使用file_timestamp.csv位置即可。 所以如果你的file_timestamp.csv可以通过访问

    http://project/csv/file_timestamp.csv

然后只需将其链接到常规链接:

 download csv 

注意:如果您不希望多个用户生成csv文件,那么只需创建一个临时文件,然后您可以将链接设置为静态。 如果不是每3分钟删除csv文件夹中的每个文件

您需要更改标题信息以将其输出为下载:

  $out = fopen("php://output", 'w'); $emails = array(); header('Content-Type: application/download'); header('Content-Disposition: attachment; filename="'.$this->filename.'.csv"'); foreach($contacts as $adr) $emails[] = $adr->getEmail(); fputcsv($out, $emails); fclose($out); exit;