fijense tengo 2 funciones que usan ajax para arrojar un resultado pero creo q al usar ajax algo ocurrre con la ejecucion y el orden en el que se desenvuelven. ejemplo la funcion 1 retorna "1" o "0" y dependiendo de ella se ejecuta la segunda sin embargo la segunda pase lo q pase con la primera siempre se ejecuta. anexo el codigo:
llamada de las funciones:
Código:
agradecido al que me pueda orientar o explicar la logica que se esta implementando mal, pues asumo es una cuestion de ajax antes los objetos ajax se llamaban igual probando les cambie el nombre pero igual function nuevoAjax() { var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } ///////////////////////////////// /////////////////////////////////////////////// function verificar_si_existe() { var op=0;// esta variable la cree para ubicar el resultado despues del ajax2.send(null); var ajax2=nuevoAjax(); ajax2.open("GET", "ajax_despacho.php?opc=2&cedula="+document.getElementById('cedula').value, true);// ajax2.onreadystatechange=function() { if (ajax2.readyState==4) { if(ajax2.responseText=="1") { alert("el beneficioario que intenta registrar ya existe en nuestro sistema."); op=1; } } } ajax2.send(null); return op; } ///////////////////////////////////////////// function registrar_beneficiario() { if(verificar_si_existe()==0){//** aqui es donde se hace la llamada de la segunda funcion. actualmente cuando el beneficiario esta registrado el sistema me muestra los 2 avisos el que dice que hubo un error y no se pudo guardar y el que dice ya el beneficiario esta registrado en nuestro sistema var ajax=nuevoAjax(); ajax.open("GET", "ajax_despacho.php?opc=1&nombre="+document.getElementById('nombre').value+"&apellido="+document.getElementById('apellido').value+"&cedula="+document.getElementById('cedula').value+"&telefono="+document.getElementById('telefono').value+"&correo="+document.getElementById('correo').value+"&fecha_n="+document.getElementById('fecha_n').value+"&sexo="+document.getElementById('sexo').options[document.getElementById('sexo').selectedIndex].value+"&estado="+document.getElementById('estados').options[document.getElementById('estados').selectedIndex].value+"&municipio="+document.getElementById('municipios').options[document.getElementById('municipios').selectedIndex].value+"&telefono2="+document.getElementById('telefono2').value+"&direccion="+document.getElementById('direccion').value, true);// ajax.onreadystatechange=function() { if (ajax.readyState==4) { if(ajax.responseText==1) { alert("el beneficioario se registro sin problema"); }else{alert("ocurrio un error no se pudo guardar el beneficiario");} } } ajax.send(null); }else{} }