直击PHP使用ajax的post方式下载excel文件简单示例

直击PHP使用ajax的post方式下载excel文件简单示例

本文实例讲述了PHP使用ajaxpost方式下载excel文件。分享给大家供大家参考,具体如下:

项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,带上token验证信息,参考了很多文章,最终实现如下:

PHP后端使用base64:

$filename = 'demo.xlsx';
$objWriter = \\PHPExcel_IOFactory::createWriter($objectPHPExcel, 'Excel2007');
ob_start();
$objWriter->save("php://output");
$xlsData = ob_get_contents();
ob_end_clean();
return Api::success(['filename' => $filename, 'file' => "data:application/vnd.ms-excel;base64," . base64_encode($xlsData)]);

JS前端:

$('.download').click(function(){
    var url = "http://xxxx.com/group/bi/export";
    var params = {
      from_date: '2017-09-01',
      to_date: '2017-09-08',
      group_id: 1
    };
    $.ajax({
      type:'POST',
      url: url,
      data: params,
      beforeSend: function(request) {
        request.setRequestHeader("Authorization", "token信息,验证身份");
      },
      success: function(redata) {
        // 创建a标签,设置属性,并触发点击下载
        var $a = $("<a>");
        $a.attr("href", redata.data.file);
        $a.attr("download", redata.data.filename);
        $("body").append($a);
        $a[0].click();
        $a.remove();
      }
    });
});

关于直击PHP使用ajax的post方式下载excel文件简单示例的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/40752.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2022年6月15日 23:51
下一篇 2022年6月15日 23:51

相关推荐

  • PHP调用华为云短信接口实现短信发送。

    随着智能手机的流行,短信已经成为了人们生活中必不可少的一部分。不论是商业还是个人用途,短信都是一种重要的沟通方式。华为云是一家领先的云计算服务提供商,为了满足用户需求,华为云提供了短信服务。在这篇文…

    2023年5月30日
    05
  • 如何利用PHP实现商城的二次购买系统。

    随着电子商务的不断发展,越来越多的零售企业开始转向线上销售。然而,电子商务也带来了新的问题:如何留住老客户?如何增加重复销售的频率?这就是为什么有必要对商城进行二次购买系统的实现。在本文中,我们将介…

    2023年5月28日
    03
  • PHP8中的函数:str_contains(),字符串搜索的新方法。

    随着PHP8的发布,该语言引入了一种新的字符串搜索函数str_contains(),这个函数在字符串中搜索指定的子字符串,并返回一个布尔值来表示该字符串是否包含指定的子字符串。这个新函数提供了一种简单和快速的方式,用…

    2023年5月21日
    024
  • php安装swoole扩展教程

    一.  swoole下载    暂不支持在windows上安装,我是在centos上安装,php版本5.6.24 1>安装包下载地址: http://pecl.php.net/package/swoole 2>版本选择 Swoole-1.x需要 PHP-5.3.10 或更高版本 Swoole-2.x需要 P…

    2018年4月27日 PHP自学教程
    0194
  • 小编教你学php什么时候学二次开发比较好。

    学习PHP二次开发的最佳时机 在当今这个高度信息化的社会,互联网已经成为了我们生活中不可或缺的一部分,而作为互联网的基石,Web开发技术也变得越来越重要,PHP作为一种广泛应用的服务器端脚本语言,因其简单易学…

    2024年7月3日
    01
  • PHP实现数据库容器化负载均衡的方法。

    随着互联网应用越来越广泛,数据库的负载均衡问题越来越受到关注。在传统的单机架构下,单个数据库的瓶颈会导致系统的响应速度下降或甚至崩溃,因此容器化负载均衡已成为解决数据库性能问题的主要方案之一。本文将…

    2023年5月21日
    01
  • 谈谈PHP中的多进程消费队列

    引言最近开发一个小功能,用到了队列mcq,启动一个进程消费队列数据,后边发现一个进程处理不过来了,又加了一个进程,过了段时间又处理不过来了......这种方式每次都要修改crontab,如果进程挂掉了,不会及时的启…

    2022年6月13日 PHP自学教程
    0121
  • PHP8函数:fdiv()的精度计算技巧。

    PHP8是目前最新的PHP语言版本,它引入了许多令人兴奋的新功能和改进。其中之一就是fdiv()函数,它可以用于准确地计算浮点数的除法运算。在以前的PHP版本中,使用基本的除法运算符(/)可能会导致精度问题。这是因为…

    2023年5月21日
    01

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息