PHP使用xlsxwriter/ajax导出xlsx文件/

PHP使用xlsxwriter/ajax导出xlsx文件/,php,mysql,ajax,excel,xlsxwriter,Php,Mysql,Ajax,Excel,Xlsxwriter,我对PHP的xlsxwriter库有一个问题。 我有一个mysql数据库,我想用一个按钮从数据库中下载excel文件中的数据。 如果我将url粘贴到webbrowser栏中,它将正确生成并下载excel文件(链接示例) 但是如果我用ajax调用 $("#frmfileima").submit(function(e){ e.preventDefault(); var fdate = $('#firstdate').val(); v

我对PHP的xlsxwriter库有一个问题。 我有一个mysql数据库,我想用一个按钮从数据库中下载excel文件中的数据。 如果我将url粘贴到webbrowser栏中,它将正确生成并下载excel文件(链接示例) 但是如果我用ajax调用

 $("#frmfileima").submit(function(e){
     e.preventDefault();                
      var fdate = $('#firstdate').val();
      var ldate = $('#lastdate').val();                 
        $.ajax({
        method: "GET",
        url: "inc/service.php?action=downloadXls&gestione=4",
        data: {fdate: fdate, ldate: ldate},
        });                                 
      });
什么也没发生。在chrome预览中,我只能看到这段代码

PKDN   docProps/PKDNÈì«docProps/app.xmlÏ1Â0àÝ_Q²ÛTIÓAqv¨î!¹j ¹É)í¿7"ØÝí>Þ©n
cõ=a+6u#*@KÎã½×þ¼Þ*³AgFBhÅYtz¥."$ö«"`nÅ9¤ÌöÁäºÔXR0\bºKoáDöYnf'ab@n øÿ:²}ùÖϱxZõÄfì}Ý(¹u¤
ÎZÉåZ>ÓoPKDN4îWp6DdocProps/core.xmlmÁNÃ0Dï|Eä{b'-U±ôê   $$@ܽ´Ä±ìmÓþ=NÒõ¶ã}Z{/öuíÀyݤ #Ù(mÖy]-ã9<
£DÕ(È<Y7¹´\6]cÁ¡ñ\Úl-§ÔË
ÔÂ'!aùÕ¸Z`nM­?b
怎么了?问题出在哪里?
Thx很多

您不能使用JavaScript通过AJAX下载文件并将其保存到用户的计算机,因为这会带来安全问题。您必须使用变通方法。有两个常规选项:

  • 将浏览器重定向到您的下载URL,最好是作为新选项卡。您可以提供URL中编码的数据,如下所示:
  • 如果您想对下载进行更多控制,可以使用jQuery插件,例如,它为您提供了类似AJAX的下载功能

super!Thx很多:)
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=".XLSXWriter::sanitize_filename($filename)."");
header("Pragma: no-cache");
header("Expires: 0");
$("#frmfileima").submit(function(e) {
    e.preventDefault();
    var fdate = $('#firstdate').val();
    var ldate = $('#lastdate').val();
    window.open('inc/service.php?action=downloadXls&gestione=4&fdate=' + encodeURIComponent(fdate) + '&ldate=' + encodeURIComponent(ldate), '_blank');                               
});