Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2006, 18:31
Avatar de Viet
Viet
 
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 7 meses
Puntos: 2
Extraño, en IE si y en FireFox no :(

Buenas a todos colegas:

Tengo el siguiente codigo que funciona muy bien en IE pero en FFX no me funciona bien.

La idea: tengo una funcion que me crea un obj httprequest global que luego uso en mi webapp.

la funcion es:

Código PHP:
// crea el obj ajax
// funcion para crear el http
function CrearAjax() {
    var 
ro;
     var 
browser navigator.appName;
    if(
browser == "Microsoft Internet Explorer"){
        
ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        
ro = new XMLHttpRequest();
    }
    return 
ro;

la funcion funciona muy bien. y la invoco con
Código PHP:
_ajax CrearAjax(); 

la uso con la funcion :

Código PHP:
function sendAjax(page,paramsfunctionCallBack){
 
 
_ajax.open('get',page+'?'+params,true);
 
_ajax.onreadystatechangefunctionCallBack;
 
_ajax.send(null);

que funciona muy bien con algo como :

Código PHP:
sendAjax('test.php','action=1'fCallBack);

//y  en otro lado
function fCallBack(){
if(
_ajax.readyState == && _ajax.status==200 ){
        
        var 
res _ajax.responseText;
               ....... 
mi codigo ......
}

como les comente todo esto anda de pelos...

pero el problema esta cuando quiero hacer algo como :

Código PHP:
function F1(){
sendAjax('test.php','action=1'f1CallBack);
}

//y  en otro lado
function f1CallBack(){
if(
_ajax.readyState == && _ajax.status==200 ){
        
        var 
res _ajax.responseText;
               ....... 
mi codigo ......
               
F2();

}

//donde 
function F2(){
     
sendAjax('test.php','action=2'f2CallBack);
}

function 
f2CallBack(){
if(
_ajax.readyState == && _ajax.status==200 ){
        
        var 
res _ajax.responseText;
               ....... 
mi codigo 2......
              



Al ejecutar en algun momento F1, lo que me pasa en FireFox es que se ejecuta dos veces f1CallBack con las respuestas de la llamada por F1 primero y luego por F2, cuando en realidad se deberia ejecutar una vez cada funcion (F1, F1callBack, F2, F2Callback) en ese orden, como bien pasa en IE...

alguna idea ?????

cualquier ayuda soy todo ojos!!!!
__________________
Keep it simple and keep it fast.