由于ajax请求发送的post请求,到达后端POI导出发出前端没有提示,且无法进行导出操作
目前有两种办法
一、location.href = url?+params
此方法参数都在路径上,不甚安全
二、表单提交的方式
//前端设置隐藏的form表单
<form id="careerForm" action="" style="display: none" method="post" >
</form>
//导出Excel工具类
function exportExcelUtils(item, url, data) {
let htmlStr = "";
let keys = Object.keys(data);
$.each(keys, function (idx, key) {
htmlStr += "<input type='hidden' name='" + key + "' value='" + data[key] + "'>";
});
item.html("").append(htmlStr);
item.attr("method", "post");
item.attr("action", url);
item.submit();
}
//调用工具类,导出excel
exportExcelUtils($("#careerForm"), contextPath + "/xxx/xxx", {
ids:ids,
certifCode:certifCode,
caseType:caseType,
relationRoleType:relationRoleType,
happenTimeStart:happenTimeStart,
reportTimeStart:reportTimeStart,
reportTimeEnd:reportTimeEnd,
happenTimeEnd:happenTimeEnd
});