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 相关文章推荐
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
PHP学习 变量使用总结
Mar 24 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
php+laravel依赖注入知识点总结
Nov 04 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP 8新特性简介
Aug 18 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
Nov 10 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
php常用的工具开发整理
2019/09/26 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
python中append实例用法总结
2019/07/30 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
财务管理专业毕业生求职信
2014/06/02 职场文书
社区志愿者培训方案
2014/06/10 职场文书
医院党员公开承诺书
2014/08/30 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
先进党组织事迹材料
2014/12/26 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
索尼ICF-5900W收音机测评
2022/04/24 无线电
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript