gpt4 book ai didi

javascript - Safari AJAX 错误 - 无法加载资源

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:31 26 4
gpt4 key购买 nike

从今天开始,我正在开发的网络应用程序中出现了一个非常奇怪的错误。我没有对代码做任何事情,但一天又一天出现了这个错误:

我向运行 MAMP PRO 的本地服务器执行 AJAX 请求(不是使用 jquery,而是使用普通的 js)。在 chrome 和 firefox 中一切正常(在 mac 上测试)。但在 safari 中,请求总是抛出错误:加载资源失败:网络连接丢失

当我尝试手动加载请求的 url(不是通过 AJAX)时,一切正常。我还使用 setTimeout 测试了请求并发现了一些有趣的东西:

当我在页面加载后(最多 60 毫秒)直接执行请求时,一切正常。之后,连接偶尔会丢失,直到 6000 毫秒,一切都恢复正常!非常奇怪的行为...我没有使用任何其他 setTimeouts,所以问题只能由 safari 引起。

我是不是做错了什么,或者这只是一个非常新的 safari 错误?

最佳答案

在为我们的网络应用程序开发一项大型新功能时,我们也遇到了这个问题。我们使用来自 JS 客户端的 XHR 请求从托管在 Amazon Linux 上的 Tomcat 服务器获取用户收藏夹。初始连接按预期正常工作。但是,第二个相同的请求在客户端 JS 控制台中失败并显示“加载资源失败:网络连接丢失”。我怀疑 Safari 将第二个请求识别为第一个请求的错误副本。

我们当前用于 Tomcat 的解决方法是有效地禁用 KeepAlive 支持。不幸的是,这会影响所有连接,而不仅仅是桌面和/或移动设备上的 Safari。 Tomcat 的这个解决方案是在 ${CATALINA_HOME}/conf/server.xml 中为 HTTPS 的连接器设置一个参数...

maxKeepAliveRequests="1"

可能还有其他解决方案可以将损坏限制在 Safari 连接上。如果我发现它们,我会回来更新这篇文章。更好的创可贴是在我们的应用程序中缓存结果并完全避免该问题。

关于javascript - Safari AJAX 错误 - 无法加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42434810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com