当我点击导出按钮时,我想下载从 php 文件中获得的数据。唯一的问题是:当我点击按钮时,会生成文件 csv 文件,但它说:file could not be opened, Failed-forbiddenHTML 代码:<form id="form" method="POST"> <button id="export" name="export_btn" onclick="export_data();"><i class="fa fa-download" aria-hidden="true"></i> Export To CSV-File</button> <!--Export Btn: genereerd een csv file--></form>JavaScript 代码:function export_data(){ event.preventDefault(); //zorgt ervoor dat je pagina niet onnodig herlaad als je op de btn drukt //deze function zorgt ervoor dat er een array wordt gemaakt van ID's van alle aangevingte checkboxes. var checkedIds = $(".chk:checked").map(function() { return this.id; }).toArray(); var Arr = JSON.stringify(checkedIds); //giet de array om in een JSON formaat zodat we ermee kunnen werken in PHP //aan de hand van ajax stuur ik de array door naar "delete_measurement.php" $.ajax({ type: "POST", url: "./export_measurement.php", data: {arr: Arr}, success: function(data){ //neem de data dat werd gegenereerd in de php file en download het in een csv file. var encodedUri = encodeURI(data); var link = document.createElement("a"); link.setAttribute("href", encodedUri); link.setAttribute("download", "airflow.csv"); document.body.appendChild(link); // Required for FF link.click(); //dit werkte nog niet helemaal. Via volgende link had ik mijn vraag gesteld: https://stackoverflow.com/questions/63846465/download-csv-file-by-using-php/63846748?noredirect=1#comment112902528_63846748 } }); }
1 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
由于您正在执行 POST,因此您只需要从 PHP 代码返回文件的内容,并在成功事件中执行以下操作:
var encodedUri = encodeURI(data);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "airflow.csv");
document.body.appendChild(link); // Required for FF
link.click();
- 1 回答
- 0 关注
- 140 浏览
添加回答
举报
0/150
提交
取消