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

Problema con AJAX.Request Prototype

Estas en el tema de Problema con AJAX.Request Prototype en el foro de Frameworks JS en Foros del Web. El siguiente es un problema que me esá quebrando la cabeza. El caso es que esta función no devuelve el valor que solicito al servidor ...
  #1 (permalink)  
Antiguo 23/08/2010, 01:43
 
Fecha de Ingreso: octubre-2006
Ubicación: ECUADOR
Mensajes: 19
Antigüedad: 18 años, 2 meses
Puntos: 0
Problema con AJAX.Request Prototype

El siguiente es un problema que me esá quebrando la cabeza. El caso es que esta función no devuelve el valor que solicito al servidor siempre me devuelve null.

function cargaDatosFactura(numFac)
{
row="";
var infoValidar=
{
method:'post',
parameters:{vloU: numFac},
onSuccess: function(t)
{
mat=t.responseText;
row=mat.split("|");
},
onFailure: function()
{
row[0]="1";
row[1]='Algo salio mal. \n Por favor intente nuevamente';
}
};
new Ajax.Request("scripts/datosFactura.php", infoValidar);
return row;
}

Llamo a la función de de la siguiente forma :

numFac="26";
resultado=cargaDatosFactura(numFac);
alert(resultado);

La respuesta simpre es null.
Estube investigando por mucho tiempo y al parecer se trata de que javascript no ejecuta el código en forma lineal. Para esto hay que implementar delays mientras el servidor entrega la respuesta, pero no he conseguido hacerlo. He probado con setTimeOut pero no es la solución pues al poner como parámetro 1000 ms el proceso funciona pero no garantiza que el servidor pueda demorarse más tiempo.

Por favor necesito ayuda a ver si alguna perona pueda hacerlo.

De antemano gracias y saludos
  #2 (permalink)  
Antiguo 24/08/2010, 19:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Problema con AJAX.Request Prototype

me parece que el problema es del ambito de la variable row, a parte de que no la declaras con el tipo que debe ser var row=Array();, intenta hacer un alert(t.responseText); dentro del onSuccess para descartar si efectivamente el servidor te esta retornando lo que debe, si es así debes replantear tu código para garantizar que funcione.

Etiquetas: ajax, prototype
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 09:20.