关于并发ajax请求,我查看了这个页面:
How many concurrent AJAX (XmlHttpRequest) requests are allowed in popular browsers?
但是如果 onload 我有 js 脚本用代码创建许多 http 对象怎么办:
// JavaScript Document
//declare xmlhttp object
var xmlhttp = false;
var xmlhttp2 = false;
//determine browser/connection type
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
xmlhttp2 = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP");
}
我有大约 6 个不同的 js 脚本,它们都是为了执行略有不同的 ajax 功能而定制的。
我的问题是,如果我在页面加载时创建了 6-10 个不同的 xmlhttp 对象,这会成为一个问题吗?
此外,即使我有20个不同的定制ajax脚本,除了我上面提到的之外,只要我没有超过3个同时运行,它们就可以同时存在,只要它们使用不同的全局变量,正确吗?
最佳答案
您可以创建的此类对象的数量仅受可用内存的限制,即对于所有实际目的来说,它是无限的。正如您提到的问题中提到的,那些没有立即提供服务的服务会排队。实际上,这意味着您的应用程序可能需要很长时间才能加载。
我会尝试将并发连接数保持在尽可能低的水平(<5)。连接数越多,用户体验就会越差。如果您有大量连接,服务器也可能会阻止您。
关于javascript - 是否允许发出无限数量的 XMLHTTP 请求对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185821/