导出Excel文件,前端不弹出下载提示框

在前后端分离的项目中,前端通过Ajax调用后端生成Excel文件流,虽然返回状态码为200,但并未弹出下载提示框。原因是Ajax请求不会自动触发下载。解决办法包括使用window.open或window.location.href来打开新窗口进行下载,或者在前端包装一个表单提交方法。后端接口需使用@RequestParam接收参数。
摘要由CSDN通过智能技术生成

导出Excel文件,前端不弹出下载提示框

前后端分离,前端调用后端生产excel文件流,并输出到HttpServletResponse,前端浏览器提示访问成功200,但是没有弹出下载Excel的提示窗口。

问题原因:
ajax方式请求路径,要想出现下载Excel的弹窗,应该是重新打开一个窗口,而ajax默认不动页面直接将值返回,所以没有提升下载。

解决办法:
1、最简单的:
let actionUrl = BASE_URL + “/exportExcel?isTemplate=”+“true”;
window.open(actionUrl);

或者如诺依的:
window.location.href = baseURL + “/common/download?fileName=” + encodeURI(fileName) + “&delete=” + true;

2、前台包装一个方法,from提交

//导出excel
export function exportToExcel(config){

    var iform = document.createElement("iframe");
    iform.setAttribute("name", "downloadIframe");
    iform.setAttribute("style", "display:none");
    document.body.appendChild(iform);

    var form = document.createElement("form");
    document.body.appendChild(form
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值