Foros del Web » Programando para Internet » Javascript » Frameworks JS »

return responseXML

Estas en el tema de return responseXML en el foro de Frameworks JS en Foros del Web. Hola q tal, tengo esta funcion js Código PHP: function  validarCodigoBarras ( url , query , div ){      response = null ;     var  random ...
  #1 (permalink)  
Antiguo 11/06/2009, 14:46
Avatar de sneyder05  
Fecha de Ingreso: enero-2009
Ubicación: Cali
Mensajes: 172
Antigüedad: 15 años, 3 meses
Puntos: 17
return responseXML

Hola q tal, tengo esta funcion js

Código PHP:
function validarCodigoBarras(url,query,div){
    
response=null;
    var 
random=parseInt(Math.random()*999999999999999);
    
http=getXMLHTTPRequest();
    
http.open("POST",url+"?rdm="+random+"&"+query,true);
    
http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    
http.onreadystatechange=function(){        
        if(
http.readyState==4){
            $(
'#'+div).hide();//Ocultar el div loading.
            
if(http.status==200){
                
info=http.responseXML;
                
response=info;
            }
        }        
        else{
            $(
'#'+div).show();//Mostrar el div loading
        
}
    }
    
http.send(query);
    return 
response;

cuando la llamo desde otro js, de la ste manera
Código PHP:
validacion=validarCodigoBarras('ValiadarBarCode.php','cb=12','loading'); 
, la llamada genera un xml de la ste forma

Código PHP:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><response>0<desc>Prod1</desc><precio>5000</precio
><resultado>1</resultado></response>
, eso en caso de que el codigo sea correcto. Eso es lo q retornaria en return response;, pero no funciona cuando digo
Código PHP:
alert(validacion); 
me tira null, el mismo de
Código PHP:
response=null
,asi q, como puedo hacer para retornar correctamente ese responseXML??

Salu2
Graxias de antemano.
  #2 (permalink)  
Antiguo 11/06/2009, 21:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: return responseXML

Es que debes tener en cuenta que estás usando Ajax asíncrono. Lo que significa que continúa el flujo normal del código antes de recibir la respuesta. Si lo que quieres es que el código espere hasta recibir la respuesta debes hacer una llamada síncrona pasando false como tercer parámetro al método open.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 00:39.