Foros del Web » Programando para Internet » Javascript »

Llamadas de Función en Ajax

Estas en el tema de Llamadas de Función en Ajax en el foro de Javascript en Foros del Web. Buenos días amigos, espero me puedan ayudar, el tema es un poquito largo, paciencia.... En un tabla que muestra la siguiente estructura de información. es ...
  #1 (permalink)  
Antiguo 06/06/2014, 18:57
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 4 meses
Puntos: 0
Exclamación Llamadas de Función en Ajax

Buenos días amigos, espero me puedan ayudar, el tema es un poquito largo, paciencia....

En un tabla que muestra la siguiente estructura de información. es un (ejemeplo)


cod / nombre / cantidad / ver

1 bla bla 3 boton mostrar
2 ble ble 2 boton mostrar

al hacer click en boton mostrar hace una llamada de funcion en ajax y me muestra el código de operación y me refresca otra grilla(que es una tabla dinamica table,tr,td)

a continuación pongo la función al hacer click en el "botón mostrar"

Código:
function load_operation_id(id_a){
	alert("El Codigo de Operacion seleccionado es el: "+id_a);
	loadValueforOperation("transactional__recovery_data/frm_recover_information_from_operation.php?id_a="+id_a,"datos_a"); 
	

}
esta función llama a esta otra

Código:
function loadValueforOperation(url, contenedor){
var pag = false;
   if(window.XMLHttpRequest){
      pag = new XMLHttpRequest();
   }else{
      if(window.ActiveXObject){ // pero si es IE
         try{
            pag = new ActiveXObject("Msxml2.XMLHTTP");
         }catch(e){ // en caso que sea una versión antigua
            try{
               pag = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){}
         }
      }else{
         return false;
      }
   }
   pag.onreadystatechange=function(){ // función de respuesta
      loadURLforOperation(pag, contenedor);

	  setTimeout("Show_Data_For_Operation();",1);
	  setTimeout("load_users_information_from_operation_iden();",1);
	  //setTimeout("load_machine_replacements_information_from_operation_iden()",8);//Arreglar Sincronia
   }
   pag.open('GET', url, true) // asignamos los métodos open y send
   pag.send(null)
}

esta llama a 2 funciones, aqui van:


Código:
function Show_Data_For_Operation(){
      var datos=document.getElementById("datos_a").value;
      if(datos!=""){
      datos=datos.split(",");
      document.getElementById("id_a").value=datos[0];
	  document.getElementById("detailed_reparation_id").value=datos[1];
	  document.getElementById("detailed_reparation_desc").value=datos[2];
	  document.getElementById("detailed_reparation_numpers").value=datos[3];
	  document.getElementById("detailed_reparation_id_b").value=datos[1];
	  document.getElementById("detailed_reparation_desc_b").value=datos[2];
	  document.getElementById("detailed_reparation_numpers_b").value=datos[3];
	  
     }
	  else{
          //setTimeout("mostrar_DelSoftware()",1);
      }
  }  


function load_users_information_from_operation_iden(){
	//alert();
	dat1=document.getElementById("detailed_reparation_id").value;
	accion_a="transactional__insert_data/system_frm_load_datagrid_from_users_operation_activity.php?detailed_reparation_id=" + dat1; 
	//loadPag(accion_a,"datagrid__detailed_users_for_operation");		
	loadPag_b(accion_a,"datagrid__detailed_users_for_operation");								   
}
la primera no tiene ningun problema y recupera la informacion SIEMPRE. pero la q refresca la grilla, la segunda funcion en promedio al decimo intento falla y no carga la grilla, solo recupera el valor ,pero no referesca

el problema debe estar en la segunda funcion que llama a esta otra loadpag_b()

Código:
function loadPag_b(urlbc, contenedorbc){
var pagbc = false;
   if(window.XMLHttpRequest){
      pagbc = new XMLHttpRequest();
   }else{
      if(window.ActiveXObject){ // pero si es IE
         try{
            pagbc = new ActiveXObject("Msxml2.XMLHTTP");
         }catch(e){ // en caso que sea una versión antigua
            try{
               pagbc = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){}
         }
      }else{
         return false;
      }
   }
   pagbc.onreadystatechange=function(){ // función de respuesta
      loadURL_bc(pagbc, contenedorbc);
	  //setTimeout("load_machine_replacements_information_from_operation_iden()",3);
   }
   pagbc.open('GET', urlbc, true) // asignamos los métodos open y send
   pagbc.send(null)
}
//OTRO
function loadURL_bc(pagina_requeridabc, id_contenedorbc){
   if(pagina_requeridabc.readyState == 4 && (pagina_requeridabc.status==200 || window.location.href.indexOf("http")==-1)){
      document.getElementById(id_contenedorbc).innerHTML=pagina_requeridabc.responseText;
   }
}


, he probado con settimeout y sin el, pero me da la impresion de q al llamar nuevamente al objeto de ajax se lagea u algo parecido, ojala me puedan ayudar.... es muy importante y no me gusta que la aplicacion presente problema, insisto nunca falla a la primera ni la segunda, es como al decimo intento q empiezo a probar (recuperar los ID) es q falla y me recupera solo el id y no refresca la grilla

espero me hayan entendido, desde ya muchas gracias, saludos amigos
  #2 (permalink)  
Antiguo 16/06/2014, 10:16
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Llamadas de Función en Ajax

por favor, necesito alguien que me pueda guiar, saludos

Etiquetas: ajax, funcion, html, llamadas, php, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:45.