Múltiplas chamadas em Ajax

costa

Membro
olá,

tenho um problema com ajax.

com este código apenas consigo fazer uma chamada ao ajax de cada vez e eu pretendia fazer várias chamadas ao mesmo tempo.

Alguém tem uma solução?

obrigado a todos

Código:
var xmlHttp
var container
var loading

function ajax(_idContainer, _idLoading, _endereco, _metodo)
{ 
    
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
     {
         alert ("Browser does not support HTTP Request")
         return
     }
    var url
    tam = _endereco.length
    
    var pos=_endereco.indexOf('?')
    
    if(pos!=-1)
        url=_endereco+"&"
    else
        url=_endereco+"?"
        
    url=url+"sid="+Math.random()
    container=_idContainer
    loading=_idLoading
    xmlHttp.onreadystatechange=StateChanged
    xmlHttp.open(_metodo,url,true)

    xmlHttp.send(null)
    
}

function StateChanged() 
{
    if(xmlHttp.readyState<4 || xmlHttp.readyState!="complete")
    {
        document.getElementById(container).style.display="none"
        document.getElementById(loading).style.display="block"
    }
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
     { 
         document.getElementById(container).style.display="block"
        document.getElementById(loading).style.display="none"
         document.getElementById(container).innerHTML=xmlHttp.responseText 
     } 
}

function GetXmlHttpObject()
{
    
    var xmlHttp=null;
    try
     {
         // Firefox, Opera 8.0+, Safari
         xmlHttp=new XMLHttpRequest();
     }
    catch (e)
     {
         //Internet Explorer
         try
          {
              xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
         catch (e)
          {
              xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
     }
    return xmlHttp;
}

PS: enganei-me queria meter isto no WebDevelopment. Movam para lá sff.
 
Última edição:
As chamadas ao AJAX é sempre enviar;receber.

Podes é chamar várias vezes o AJAX, ou ter outro script, que chama várias vezes o AJAX e encaminhe para várias divs.
 
Boas,

Podes via javascript fazer um settimeout para fazer mais do que uma chamada de cada vez, mas atenção que devido a limitações de protocolo HTTP 1.1, não é possivél fazer mais do que duas chamadas HTTP para o mesmo servidor.

Abs
XiriX
 
E se ele criar tipo subdominos apontar para o mesmo ficheiro?

Tipo

dns1.odominio.com --> odominio.com/ajax.php
dns2.odominio.com --> odominio.com/ajax.php
dns3.odominio.com --> odominio.com/ajax.php
dns4.odominio.com --> odominio.com/ajax.php
dns5.odominio.com --> odominio.com/ajax.php

Dará para fazer multiplos http request's em simultaneo? :x
 
E se ele criar tipo subdominos apontar para o mesmo ficheiro?

Tipo

dns1.odominio.com --> odominio.com/ajax.php
dns2.odominio.com --> odominio.com/ajax.php
dns3.odominio.com --> odominio.com/ajax.php
dns4.odominio.com --> odominio.com/ajax.php
dns5.odominio.com --> odominio.com/ajax.php

Dará para fazer multiplos http request's em simultaneo? :x

Não... a limitação não é do servidor, é do Browser... mas acho que há soluções para isso, vê o meu link acima
 
Back
Topo