本文实例讲述了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和jQuery构建XLS导出器。我正在尝试使用jQuery发布一个数组(我相信它与GET查询字符串一样长),并用它在我的服务器上生成XLS文件,然后用户可以下载该文件。 过去,我使用隐藏的iframe来完成此操作,但是由于它们只是重定向到url,因此这要求我使用GET,这使我感到紧张。 我的问题是:如果这些文件
本文向大家介绍php实现简单文件下载的方法,包括了php实现简单文件下载的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现简单文件下载的方法。分享给大家供大家参考。具体如下: 这里介绍的php文件下载代码,只是简单实现了一张图片的下载功能,还不完善,最好是封装到一个类里,或是采用函数调用。感兴趣的朋友可以在此基础上加以完善! php文件下载代码如下: 希望本文所述对大家的ph
问题内容: 我想使用ajax功能进行下载,从而用户将单击下载链接,该链接将(使用ajax和$ _GET)访问一个PHP文件,该PHP文件将处理发送的$ _GET变量并访问正确的文件进行下载。 我有一些PHP脚本来处理$ _GET变量的处理,这些变量可以单独工作,但是使用Ajax访问时,它们将停止工作。 我正在使用的Ajax / PHP代码如下: 请仔细阅读我的代码,帮助我找到我做错了什么。 谢谢
本文向大家介绍使用Ajax生成的Excel文件并下载的实例,包括了使用Ajax生成的Excel文件并下载的实例的使用技巧和注意事项,需要的朋友参考一下 很久沒有寫文章啦,今天分享一個如何在ASP.NET MVC里使用Ajax下載生成文件的方法,以下只是個人心得: 大家都應該知道,在ASP.NET MVC里,如果通過Ajax調用后臺控制器時,可以返回一個JSON對象,但并不能直接返回文件(除非刷新頁
我有一个javascript应用程序,它向某个URL发送ajax POST请求。响应可能是一个JSON字符串,也可能是一个文件(作为附件)。我可以很容易地在ajax调用中检测到内容类型和内容配置,但是一旦检测到响应包含文件,我如何提供客户端下载它呢?我在这里读过很多类似的文章,但没有一篇能提供我想要的答案。 请,请,请不要发布建议我不应该为此使用ajax或者我应该重定向浏览器的答案,因为这些都不是
问题内容: 我以前使用Axios下载GET端点提供的文件。端点已更改,现在是POST,但是不需要参数。我正在更新原始的下载方法,但是返回了损坏的文件。 我不知道,如果问题出在,或如何响应的处理或全部的上方。到目前为止,我已经尝试了各种选择,但没有运气。任何建议将不胜感激! 我已经能够使用Postman下载文件,所以我知道端点提供的文件很好。我只是无法在我的React代码中理清参数来做到这一点。 问
本文向大家介绍PHPExcel简单读取excel文件示例,包括了PHPExcel简单读取excel文件示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHPExcel简单读取excel文件的方法。分享给大家供大家参考,具体如下: PHP Excel 2007 classes Project providing a set of classes for the PHP programmi
问题内容: 我有一个按钮,它将调用ajax函数。 这是我的ajax功能 我根据用户输入创建csv文件。创建之后,我希望它提示下载或强制下载(最好是强制)。我在php文件的末尾使用以下脚本来下载文件。如果我在单独的文件中运行此脚本,则可以正常运行。 但是,如果我在csv.php的末尾运行它,它会将file.csv的内容输出到页面中(进入ajaxDiv)而不是下载。 有没有办法强制在csv.php的末