卿岚 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 netty整合springboot之后自动重连失效
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击