XHR 请求正在等待,直到获取整个音频文件[已关闭]

问题描述 投票:0回答:1

我有一个 PHP 音乐网站,通过 java 脚本播放音频文件:

audio.src = uri;
audio.load();
audio.play().then(

        r => {
            //set somethings
          
        }
    );

最近,当我播放曲目(响应代码为 206)时,立即向服务器发送另一个 xhr 请求(例如通过 jquery.load 加载页面)

$(target).load(path+"?ajax",function(responseTxt, statusTxt, xhr){

        if(statusTxt == "success") { // callback response:

            //update url
        }

请求将处于挂起状态,直到获取整个 mp3 文件(Chrome 网络调试选项卡)。我确信这个问题最近出现过并且:

  • 我的网络服务器是 Apache 并且 keep-alive 处于活动状态。
  • 无论音频对象的src是静态的还是动态的,都有这个问题。
  • 我没有像浏览器上的广告拦截器这样的额外扩展
  • 我在多个浏览器(FireFox、Chrome...)以及不同的服务器上检查了它。
  • CSF 防火墙已关闭
  • 我使用 read_and_close 选项来避免会话锁定。

奇怪的是,这个问题在我的本地Web服务器(WAMP服务器)上并不存在。

我认为音频对象应该发送异步请求,我还可以在哪里调查以找到原因?

javascript php ajax stream xmlhttprequest
1个回答
0
投票

今天我做了一个测试!在等待状态下,我打开了一个新选项卡,看到新的预览也在等待!所以我很确定这与服务器限制有关,或者可能与网络服务器有关,但与代码无关。

© www.soinside.com 2019 - 2024. All rights reserved.