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

weixin_42461770 weixin_42461770 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
直接贴代码:
原代码是这样写的:
$.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("下载异常!");
}
})
// 解决
//希望各位少踩坑,仅供参考

...全文
评论 3
收藏 已收藏
分享
返回顶部
weixin_42461770
JavaScript 87,983 成员 224,681 内容