2012-11-01 40 views
1

在問候併發Ajax請求,我已經看過此頁:你被允許進行XMLHTTP請求對象的數量限制?

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"); 
} 

我有它們都適合於執行稍微不同的Ajax函數約6不同JS腳本。

我的問題是,如果我對頁面加載創建6-10不同的XMLHTTP對象,將它在某種程度上是一個問題?

此外,即使我有20個不同的定製ajax腳本,除了我上面提到的,只要我沒有超過3個同時運行,他們都可以存在toegther,只要他們使用不同的全局變量,正確嗎?

回答

1

您可以創建這些對象的數量僅受可用內存,即所有的實際目的是無限的限制。如您引用的問題提到的,沒有被立即送達的人排隊等候。在實踐中,這意味着您的應用程序可能需要很長時間才能加載。

我會盡量保持併發連接數儘可能低(< 5)。更多的連接會使用戶體驗變得更糟。如果您有大量的連接,服務器可能會阻止您。