卿岚 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日

悬赏问题

  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?
  • ¥50 CrossLink-LIF-MD6000 型 FPGA 的 CMOS 转 MIPI D-PHY IP 核功能使用异常