浏览器同接口下载请求合并问题

1. 问题描述

今天修改一个10年前的代码,只能用ajax通信,然后下载使用get请求转换数据格式交给a标签,但是下载循环中遇到了请求合并的问题。(从Network来看就是前面的请求发都发出去,就变红了)

2. 解决方案

  • 常规解决方法就是自己去维护一个请求队列了,一个请求完成以后调用回调函数,执行下一个请求
  • 或者多开几个界面每个界面维护一个请求了

这里贴出多个界面a标签的下载代码:

let url1 = url + '&infer_type=nii.gz&convert_to_3=True'
let link1 = document.createElement('a')
link1.style.display = 'none'
link1.href = url1
link1.target = "_blank"
document.body.appendChild(link1)
link1.click()
window.URL.revokeObjectURL(url1)
document.body.removeChild(link1)
  • 最主要的就是target="_blank"跳出一个空白界面,维护对同一个请求的链接从而让浏览器放弃合并

3. 结果展示

在这里插入图片描述
在这里插入图片描述

  • 吐槽一下,下载感觉都有各种通信框架维护请求了,遇到这些旧需求还真是脑子转不过来
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值