0
我有一個csv文件在我的後端生成,並且API要求我執行POST來觸發文件的生成。這是有點問題。幸運的是,我偶然發現了一些混合搭配的方法,這些方法似乎是一小撮人使用這種類似的東西的普遍方式。不幸的是,我似乎沒有在Firefox和其他瀏覽器上工作。我知道它在Chrome中完美運行,但我想知道它是否能夠運行,或者它是否因爲某些原因而無法在Firefox中運行。下面是我到目前爲止的代碼,我手動更改了一些變量,試圖在這裏理解它們。但任何人有任何想法?這是不可能完成的嗎?Blob觸發器下載
$.ajax({
url: '/api?id=' + post_file_id,
"async": true,
"crossDomain": true,
"method": "GET",
"headers": {
"cache-control": "no-cache",
},
"processData": false,
}).done((response) => {
let a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
let blob = new Blob([response], {type: "text/csv;charset=utf-8;"});
let url = window.URL.createObjectURL(blob);
a.href = url;
a.download = 'download-' + post_file_.replace(' ', '_') + '.csv';
a.click();
window.URL.revokeObjectURL(url);
//document.body.removeChild(a);
}).fail(() => {
this._showStatusAlertBox('error', 'There is no data for post.');
});
}
類似http://stackoverflow.com/questions/30694453/blob-createobjecturl-download-not-working-in-firefox-but-works-when-debugging:與嘗試 – Musa