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


Posted in PHP onAugust 06, 2019

本文实例讲述了PHP使用ajax的post方式下载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相关内容可查看本站专题:《PHP+ajax技巧与应用小结》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Apache2 httpd.conf 中文版
Dec 06 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
php文件上传类的分享
Jul 06 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 PHP
PHP中的自动加载操作实现方法详解
Aug 06 #PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 #PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 #PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 #PHP
thinkPHP5框架接口写法简单示例
Aug 05 #PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 #PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 #PHP
You might like
PHP与javascript的两种交互方式
2006/10/09 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP数组去重的更快实现方式分析
2018/05/09 PHP
PHP实现简单登录界面
2019/10/23 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
jquery的index方法实现tab效果
2011/02/16 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
2019/08/16 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python入门篇之条件、循环
2014/10/17 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
Python语法快速入门指南
2015/10/12 Python
python中的json总结
2018/10/11 Python
python实现小世界网络生成
2019/11/21 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
详解python的super()的作用和原理
2020/10/29 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
python unichr函数知识点总结
2020/12/16 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
静态成员和非静态成员的区别
2012/05/12 面试题
服装公司总经理岗位职责
2013/11/30 职场文书
企业内部培训方案
2014/02/04 职场文书
好的旅游活动方案
2014/08/19 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
解除劳动合同证明书
2014/09/26 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
《桂花雨》教学反思
2016/02/19 职场文书