为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 下载 CSV 文件

使用 PHP 下载 CSV 文件

PHP
慕慕森 2024-01-19 10:10:16
当我点击导出按钮时,我想下载从 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();


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信