关于并发的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个同时运行它们都可以存在,只要它们使用不同的全局变量,对吗?
答案 0 :(得分:1)
您可以创建的此类对象的数量仅受可用内存的限制,即出于所有实际目的,它是无限的。正如您所引用的问题所述,未立即提供的问题排队等候。实际上,这意味着您的应用程序可能需要很长时间才能加载。
我会尽量保持并发连接数尽可能低(< 5)。更多连接将使用户体验变得更糟。如果您有大量连接,服务器也可能会阻止您。