Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2008, 06:13
Avatar de korg1988
korg1988
 
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 20 años, 4 meses
Puntos: 19
De acuerdo Se reemplazan los objetos! (Conecciones simultaneas????)

Hola tengo un problema muy extraño, no se que es lo que estare haciendo mal!

Mi codigo Es el siguiente (mi Class) y la arme yo, es por eso que no funciona

Código PHP:
function AjaxLoader(url, method, funcLoading, funcLoaded) {
    
    
//------------------------------------------------------
    // CONSTRUCTOR
    //------------------------------------------------------

    
_this                 = this;

    
//------------------------------------------------------
    // CONECCION
    //------------------------------------------------------
    
    
if(navigator.appName == "Microsoft Internet Explorer") {
        try {
            
_this.conn = new ActiveXObject('Msxml2.XMLHTTP');
        } catch(
e) {
            try {
                
_this.conn = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(
e) {}
        }
    } else {
        
_this.conn = new XMLHttpRequest();
    }

    
//var
    //Subo a mayuscula, para ahorrar problemas jaja
    
_this.method         = method.toUpperCase();
    
    
//Url
    
_this.url             = url;
    
    
//Funciones
    
_this.funcLoaded     = funcLoaded;
    
_this.funcLoading     = funcLoading;

    
//Libero la memoria de las que no voy a usar
    
url                 = null;
    
method                 = null;
    
funcLoaded             = null;
    
funcLoading         = null;

    
//------------------------------------------------------
    // METODOS
    //------------------------------------------------------
    
    //Maneja los eventos segun los estados de la coneccion
    
_this.estadosChange = function() {
        if(
_this.conn.readyState == 1) {
            
_this.funcLoading();
        } else if(
_this.conn.readyState == 4) {
            
_this.funcLoaded();
        }
    }
    
    
//Realiza el proceso de carga de la informacion
    
_this.Load = function(param) {
        
url = (_this.method == 'POST') ? _this.url : _this.url+"?"+param;
        
        
_this.conn.open(_this.method, url, true);
        
_this.conn.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        
_this.conn.onreadystatechange = _this.estadosChange;
        
        
_this.conn.send((_this.method == 'POST') ? param : null);
    }
    
    
//Devuelve el resultado del Request
    
_this.Response = function(type)    {
        if(
type == 'text') {
            return 
_this.conn.responseText;
        } else {
            return 
_this.conn.responseXML.documentElement;
        }
    }
} 
Ahora bien, el problema viene cuando instancio los objetos
Código PHP:
    res_view = new AjaxLoader('tfaltas.loader.php', 'GET', function(){
            
document.getElementById('res_tipos').innerHTML = loading_image('circle');
        }, function(){
            
document.getElementById('res_tipos').innerHTML = res_view.Response('text');
        });
        
    
infrac_view = new AjaxLoader('tfaltas.loader.php', 'GET', function(){
            
document.getElementById('infracciones').innerHTML = loading_image('circle');
        }, function(){
            
document.getElementById('infracciones').innerHTML = infrac_view.Response('text');
        });
        
    
infrac_view.Load('case=form_select_infracciones');
    
res_view.Load('case=res_tipos'); 
Ese codigo esta en un window.onload = function () { aqui el codigo anterior }
para que se ejecute cuando se carga la pagina, el tema es que solo se ejecuta la segunda llamada al metodo Load y si los invierto de posicion se ejecuta la primera, es como que solo se ejecuta la ultima, remplazando a las anteriores, pero no se porque sucede eso si yo instancio 2 variables con diferente nombre !

si alguien me ayuda por favor me desespera!... Es ilogico!

gracias!