做了一个Excel导出功能,怎么才能让页面在导出之后不跳转?

做了一个导出功能,把页面上的echarts图表导出到Excel中,由于要传echarts的base64编码到后台,所以不能用window.location.href发送请求,只能用form表单提交。
前端代码如下

//获取echarts的base64编码
var picBase64InfoCostStr  = queryCostStructure(reportYear,reportType);
var picBase64InfoCategory = queryCategory(reportYear,reportType);
var picBase64InfoExpectedGain  = queryExpectedGain(reportYear,reportType);
var picBase64InfoProjectType = queryProjectType(reportYear,reportType);

document.write("<form action='${adminPath}/budgetStatistic/export/exportForEchartsImg' method='post' id='form1' name='form1' style='display:none' >");  
document.write("<input type=hidden name='picBase64InfoCostStr' value='"+picBase64InfoCostStr+"'/>");  
document.write("<input type=hidden name='picBase64InfoCategory' value='"+picBase64InfoCategory+"'/>");  
document.write("<input type=hidden name='picBase64InfoExpectedGain' value='"+picBase64InfoExpectedGain+"'/>");
document.write("<input type=hidden name='picBase64InfoProjectType' value='"+picBase64InfoProjectType+"'/>");
document.write("</form>");
document.form1.submit();

效果如下
这是页面展示,要导出的图表
图片说明

当点击导出之后,文件可以正常的导出,但是页面跳转到了空白页
如下
图片说明

想问一下,怎么才能导出文件之后,页面不跳转,留在原来的页面?

执行完导出功能后,再设置跳转到此页面。

不用 form 表单提交,因为 form 表单自动提交后的页面,是由 Action 类返回的,除非再重定向到当前页面。
用 ajax 提交试试。

你要分开,一个是提交数据到后台,一个是新开一个页面window.open("xxxExport.do")用来下载。单纯用表单提交肯定存在流关闭的问题