在我的应用程序中,我在$(document).ready()
函数中进行了多个 ajax 调用。问题是浏览器一直处于“加载”状态,直到 ajax 调用返回。由于这些 ajax 调用大约需要 15-20 秒才能完成,这让我的页面加载时间长得令人作呕。
我的期望是,由于ajax
调用是异步的,一旦所有页面加载请求完成,浏览器应该退出“加载状态”,而不关心 ajax 调用何时完成。
是否有其他事件之后我应该ajax
拨打电话?我也尝试将ajax
调用放在window.onload
事件回调中,但我仍然遇到同样的问题。
编辑:代码非常简单。我在加载脚本的头部有一个带有一些脚本标签的 HTML 文件:
<head>
<script src="script1.js"></script>
<script src="script2.js"></script>
</head>
在我的一个脚本中,我有:
$(document).ready(
// 3 ajax calls
);
我使用 Ajax 调用获取 JSON。现在,我在开发工具包中看到,只有当所有这三个 ajax 调用都返回时,浏览器才会退出“加载”状态。我还注意到,当我的页面加载网络请求被缓存时,浏览器不会等待这些 ajax 调用。但是对于空缓存,完成所有页面加载请求大约需要 3-4 秒,在这种情况下,ajax 调用也会导致浏览器保持“加载状态”。
请帮忙。谢谢!