时间:2021-05-26
本文实例讲述了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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PHP前台传值到后台进行验证的3种方式1.不外乎就是post,get和ajax方式post和get方式就是在表单上用method方式规定主要就是ajax动态传值
本文实例讲述了原生JS实现Ajax通过POST方式与PHP进行交互的方法。分享给大家供大家参考,具体如下:一、代码conn.phpindex.php通过POST
ajax的代码,用的是jquery的ajax:$.ajax({url:"/test.php",//后台提供的接口type:"post",//请求方式是postd
页面显示如下:JQueryAjax.html中的代码如下(用的较为简单的$.post)JQueryAjax+PHP用户名:密码:ajax提交$(document
jquery框架中提供了$.ajax、$.get、$.post方法,用于进行异步交互,由于Django中默认使用CSRF约束,推荐使用$.get示例:实现省市区