卿岚 2022-09-16 19:23 采纳率: 76.8%
浏览 40
已结题

限制某个ajax请求的宽带上限

限制某个ajax请求的宽带上限
希望在页面加载完全以后进行ajax请求一些文件,以达到预加载目的,但是又不希望一堆ajax的请求,把服务器带宽堆满。
目前的情况:使用如图方式,其一会导致页面一直显示转圆圈,让用户认为没有加载完。其二,因为是异步所以导致大量的ajax预加载请求让服务器带宽堆满。(又肯定不能是同步,不然页面直接卡死了)
期待效果:加载过程不会影响页面加载,为静默加载,且速度减慢,以减少影响其他请求。(且限制速度不影响其他ajax异步请求,仅限制预加载的ajax)

img


下面为上图问题获得的方式,出现情况见目前的情况
https://ask.csdn.net/questions/7713983?spm=1001.2014.3001.5501

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-09-16 20:45
    关注

    限制不了ajax请求带宽。如果同时请求占用服务器带宽太多,可以将要预加载的js文件放数组里面,一个一个来请求。就是请求完毕一个之后再请求下一个,直到数组用的js文件都请求完。不过要是这个页面停留时间不够,可能数组中所有文件不一定全部缓存得完。
    而且缓存居于jquery,代码里面没必要在请求jquery框架。示例如下

    <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
    <script>
        var cacheFiles = ['js/jquery.form.js', 'layui/layui.js', 'js/popper.min.js', 'js/bootstrap.js'/*更多要缓存的文件*/]
        var curIndex = 0;
        function sendAjax() {
            if (curIndex < cacheFiles.length) {
                $.ajax({
                    url: cacheFiles[curIndex], cache: true, complete: function () {
                        curIndex++;
                        sendAjax();
                    }
                })
            }
        }
        sendAjax();
    </script>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月21日
  • 已采纳回答 9月17日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错