如何用Ajax方法下载LaravelExcel

How to download Laravel Excel with Ajax method

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

 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')}}";
})