Codeigniter - 使用AJAX下载CSV

时间:2014-11-10 15:28:39

标签: php jquery ajax codeigniter

我在使用codeigniter下载CSV文件时遇到问题,我想当用户按下导出按钮文件时应该开始下载但是会发生什么反应是在ajax中生成的,如屏幕截图所示。我知道我错过了一些小事,但我无法直截了当地知道该怎么做。

在FIREFOX控制台中显示的AJAX响应

AJAX RESPONSE

HTML BUTTON

 <button id="exportData" name="exportData" class="btn btn-primary btn-lg" >Download CSV</button>

AJAX CALL

$(document).on('click','#exportData',function(e){
e.preventDefault();

var jawad = $( ".jawad" ).serialize();
$.ajax({
url         : '<?=base_url();?>command/getReport',
type        : 'POST',
data        :  {str:jawad,procName:$('#procName').val()}
});

});

PHP功能:

function getReport()
{ 
 //removing above lines as not necessary

$jawad =  $query->result_array();

//pass it to db utility function
$new_report = $this->dbutil->csv_from_result($query);

$this->load->helper('download');
force_download('csv_file.csv', $new_report);
}

1 个答案:

答案 0 :(得分:0)

使用AJAX下载值后的CSV文件。

基本代码:

function getReport(){ 
    $FileName = date("d-m-y") . '.csv';
    $Content = "#ID, Mobile No \n";
    $Content .= "01, 0175162678 \n";
    $Content .= "02, 0165162678 \n";

    header('Content-Type: application/csv'); 
    header('Content-Disposition: attachment; filename="' . $FileName . '"'); 
    echo $Content;
}