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

Return despues de completado (readyState = 4)

Estas en el tema de Return despues de completado (readyState = 4) en el foro de Frameworks JS en Foros del Web. hola a todos. estoy como mucho de ustedes comenzando a entender esto del AJAX. Estoy haciendo mi propia clase para trabajar con ajax pero hay ...
  #1 (permalink)  
Antiguo 24/10/2005, 07:25
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
Pregunta Return despues de completado (readyState = 4)

hola a todos. estoy como mucho de ustedes comenzando a entender esto del AJAX. Estoy haciendo mi propia clase para trabajar con ajax pero hay algo que no entiendo. Llamo mi clase y envio todo lo que tengo que enviar y luego al instansear mi clase en x pagina para validar, por ejemplo, el login de mi pagina quiero que me retorne algo luego que cargue o que complete la acción (readystate=4). me explico? lo estoy usando con ASP y lo que retorno es un "1" si lo encontró y un mensaje de error si no lo encontro para entonces decirle al usuario que verifique que el usuario y password sean correctos, etc. pero una vez que lo ejecuto no hay forma de retornar lo que trae el obj.responseText a mi pagina donde está el js instanseando la clase....

espero me expliwquen como funciona esta parte que todabia no la entiendo... ayer pase todo el dia haciendo esta clase y tratando de entender esta partecita que todavia no la he comprendido bien.

saludos y gracias
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #2 (permalink)  
Antiguo 24/10/2005, 14:16
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
no entiendo que es lo q no entendes...
__________________
Internet Explorer SuckS
Download FireFox
  #3 (permalink)  
Antiguo 25/10/2005, 10:18
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading....



en un caso X

function algo()
{
//rollo ajax
if(objeto.ReadyState==4)
{
return "jdjsadkljsadjsad";
}
//rollo ajax fin
}


----

<boton.... onclick="window.alert(algo())">

esto tendria que poner un alert con jdjsadkljsadjsad pero no sucede... como solucionarlo?




connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 25/10/2005, 13:11
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Sigo con mis pruebas con Ajax y posteo esto aquí pues creo que tiene que ver con lo mismo, tengo un formulario para insertar en una bd y lo envío con esta función:

Código PHP:
/// Enviar Datos a Script de Insercion.php
///////////////////////////////////////////////

function sendQuerystringIns()
{

    
itemA document.getElementById("palabra").value;
    
itemB document.getElementById("contenido").value;
    
document.getElementById('estado_insercion').innerHTML "<img src=\"../images/loader.gif\">"
    
http.open("POST"url_instrue);
    
http.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
    
http.send('ins=' itemA '&sign=' itemB);
    
http.onreadystatechange handleHttpResponseInsert;

Y la función handleHttpResponseInsert():

Código PHP:
function handleHttpResponseForm()
{
    if (
http.readyState == 4)
    {
        
resultado http.responseText;

        
document.getElementById('estado_insercion').innerHTML resultado;
    }

El caso es que el php recibe y ejectua bien, pero el javascript se queda colgado despues de http.onreadystatechange =, pero si en la función que determina el readyState eliminio el if por si nunca se diera que es igual a 4 o lo que fuere, que no lo compruebe!, y le paso un valor manualmente al elemento del form tampoco lo ejecuta.

Si sustituyo esto:

http.onreadystatechange = handleHttpResponseInsert;

Por esto:

http.onreadystatechange =window.alert("aqui llega");

Entonces me muestra el mensaje de alerta.

Alguna idea?

Saludos
  #5 (permalink)  
Antiguo 26/10/2005, 04:53
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 6 meses
Puntos: 2
Por lo que veo tenes la definida la funcion handleHttpResponseForm, cuando en realidad llamas a handleHttpResponseInsert;

Creo que es eso
__________________
Keep it simple and keep it fast.
  #6 (permalink)  
Antiguo 26/10/2005, 05:54
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola Viet, la verdad es que fue un error al copiar y pegar, pero ya se lo que pasaba, creo, el problema es que el php ejecutaba bien pero no devolvía nada , es decir que en la función.php no imprimía ningún resultado ni tampoco la finalizaba con return $algo, entonces creo que el problema venía por ahí, para que readyState sea igual a 4, debe recibir un resultado, sino se queda en estado readyState == 1 (loading), imagino, ya te digo que no estoy del todo seguro, pero ahora ya funciona bien.

Saludos
  #7 (permalink)  
Antiguo 26/10/2005, 05:59
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 6 meses
Puntos: 2
Es correcto lo que decis .... proba con un echo "listo!";

Saludos
__________________
Keep it simple and keep it fast.
  #8 (permalink)  
Antiguo 26/10/2005, 06:45
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Si pongo solo un echo, sin return, no funciona, no le llega nada, si pongo solo return lo mismo, debo usarlos los dos para que funcione.
  #9 (permalink)  
Antiguo 26/10/2005, 06:58
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 6 meses
Puntos: 2
Consulta: el resultado de PHP sale de una funcion no?.... si es asi puedes hacer un echo funcion(); o bien un echo en la funcion sin return y debería funcionar... cual es el php que tienes?
__________________
Keep it simple and keep it fast.
  #10 (permalink)  
Antiguo 26/10/2005, 07:14
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
ok, solucioné lo que queria poniendo una función en el status = 4.
hice una clase parecida a la de sack pero a mis necesidades y bueno, ya me funciona excelentemente... todabia no la he terminado aún. cuando esté lista la compartiré con todos.

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
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 01:24.