目指せ非プログラマー

もう何でもごじゃれ言語

ajaxでphp側から投げられたcsvファイルをダウンロードさせる方法

ちょっと時間がないので簡単に書きます。

 

fuelphp

jQueryを使用しています。

 

php---------------------------------

$data = "1-a,1-b,1-c\n"

$data .= "2-a,2-b,2-c\n"

 

$this->respnse($data);

---------------------------------

 

js---------------------------------

$.ajax({

url: hogehoge,

type: "POST",

data:hoge,

datatype:"json",

success: function(res, status, xhr)

{

var a = "<a download='hoge.csv' href='data:application/csv;charset=utf-8," + encodeURIComponent(res) + "'>CSVファイル</a>";

$(".dl-parent").html(link);

var a = $(".dl-parent a")[0];

var e = document.createEvent('MouseEvents');

e.initEvent('click', true, true);

a.dispatchEvent(e);

}

---------------------------------

 

html---------------------------------

<div style="display: none;" class="dl-parent"></div>

---------------------------------

 

こんな感じです。

ようは、phpから取得したcsvデータをhtmlに埋め込みダウンロードさせてます