Ajax 请求在 Chrome 上永远挂起

jul*_*enc 5 javascript ajax google-chrome

我在使用 Chrome 时遇到了一个随机问题(Linux 上的 v60.0.3112.101,但最终用户在其他系统的生产中也重现了这一问题)。有一个页面包含歌曲列表,单击其中任何歌曲都会触发 ajax 请求以获取服务器上的文件(除其他外)。

经过一定次数的“点击”(从来没有相同的次数,从来没有在同一个文件上),应该获取资源的ajax请求永远显示为“待处理”(我已经等待了30多分钟才完成) )。

在此输入图像描述

在开发人员工具面板的“计时”选项卡中,请求显示为“停滞”,实际上,Nginx 日志(我们将其用作反向代理)和后端应用程序本身显示该请求从未到达服务器。

在此输入图像描述

我尝试了几件事但没有成功:

  • 禁用“预测服务以更快地加载页面”
  • 在每个请求上添加随机 uuid 以确保不使用缓存
  • 更新jquery和soundmanager2(这是启动请求的库)
  • 启动 Chrome 时不带扩展程序

我还尝试从开发人员工具控制台重新运行请求,它也处于待处理状态。

url = "/api/download/songs/7969/28962/28962_original.mp3?download_key=81b285e61f7880a0a07a977dbc47b78a1d57e3690263a646da65a261957f979a&r=" + Math.random();
$.get(url);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这个问题在 Firefox 上似乎没有发生。

不幸的是,我无法向您展示比这更多的代码。

这是 Chrome 的已知错误吗?有任何已知的解决方法吗?

ale*_*exd 3

您似乎已达到 Chrome 中的最大 http 连接数。这里有很多与该领域相关的帖子。这篇文章可能会帮助您 如何解决 Chrome 使用 xhr 轮询时的 6 个连接限制