php通过ajax下载文件,PHP使用ajax的post方式下载excel文件简单示例
本文實例講述了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.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通过ajax下载文件,PHP使用ajax的post方式下载excel文件简单示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenXML SDK2.0初窥
- 下一篇: 动态规划算法php,php算法学习之动态