循环发送请求下载踩过的坑

weixin_42461770 2021-02-06 12:03:23
直接贴代码:
原代码是这样写的:
$.each(rowsDatas, function (i, data) {

var ID__ = data.ID__.substring(6);
ID__ = ID__.substring(0, ID__.length - 7);
window.open(basepath + 'ExportFile/downloadUserExcel?f=' + forminfo.ID + '&&b=' + ID__, "_self");

})
// 打算直接用循环请求下载,结果每次循环后台都有响应, 但前台只能下载一次


//后网上看各种解答,发现 多次循环同样的请求下载浏览器会有限制; 后打算加延时解决
$.each(rowsDatas, function (i, data) {
setTimeout(function () {
var ID__ = data.ID__.substring(6);
ID__ = ID__.substring(0, ID__.length - 7);
window.open(basepath + 'ExportFile/downloadUserExcel?f=' + forminfo.ID + '&&b=' + ID__, "_self");
}, 500);
})
// 结果延时仍然是不起作用的
// 看各种贴,踩不少坑后终于想到解决办法
$.each(rowsDatas, function (i, data) {
var ID__ = data.ID__.substring(6);
ID__ = ID__.substring(0,ID__.length-7);

try {
var elemIF = document.createElement("iframe");

elemIF.src = basepath + 'ExportFile/downloadUserExcel?f=' + forminfo.ID + '&&b=' + ID__;

elemIF.style.display = "none";

document.body.appendChild(elemIF);

} catch (e) {
alert("下载异常!");
}
})
// 解决
//希望各位少踩坑,仅供参考

...全文
306 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lockmemory 2021-02-21
  • 打赏
  • 举报
回复
同意楼主的观点,支持!
Oliver尹 2021-02-21
  • 打赏
  • 举报
回复
这个需要记录一下
hookee 2021-02-11
  • 打赏
  • 举报
回复

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧