如何使用 Ajax 方法下载 Laravel Excel

问题描述

我正在使用 Ajax 方法处理 Laravel Excel。下面是我的控制器。

 public function downloadExcel(){
    return Excel::download(new SomeExport(),'project.xlsx');
 }  

这是ajax调用

$(document).on('click','#download_excel',function(e) {
    downloadExcel().then(data => {
        //may be need to do some here.
    }).catch(error => {})
});

function downloadExcel() {
    return new Promise((resolve,reject) => {
        $.ajax({
            url: `${route.url}/api/...`,type: 'GET',headers: {"X-CSRF-TOKEN":route.token},success: function(data) {
            resolve(data)
            },error: function(error) {
            reject(error)
            },})
    })
}

这适用于普通请求,但不适用于 ajax。对此的任何建议或指导将不胜感激,谢谢。

解决方法

我已经试过了,它有效。

$(document).on('click','#download_excel',function(e) {
    window.location="{{ route('yourRoute')}}";
})