Foros del Web » Programando para Internet » Javascript »

Problema con metodo de Ajax

Estas en el tema de Problema con metodo de Ajax en el foro de Javascript en Foros del Web. Estimados tengo el siguiente metodo muy simple, en el cual proceso un archivo php utilizando la metodologia clasica para enviar una consulta http por javascript ...
  #1 (permalink)  
Antiguo 12/02/2012, 15:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años
Puntos: 4
Problema con metodo de Ajax

Estimados tengo el siguiente metodo muy simple, en el cual proceso un archivo php utilizando la metodologia clasica para enviar una consulta http por javascript:

llamadaAjax
Código:
function llamadaAjax(){
                        // Mensaje a mostrar mientras se obtiene la información remota
                        document.getElementById('contacto').innerHTML = 'Enviando formulario...';
                        // Preparamos la obtención de datos
                        RequestObject.open('GET', archivoAjax+'?'+'mensaje=prueba', true);
                        RequestObject.send(null);
                        RequestObject.onreadystatechange = procesarPhp();
                    }
procesarPhp
Código:
function procesarPhp(){
                        //alert('procesado');
                        // Si se ha recibido la información correctamente
                        if (RequestObject.readyState == 4){
                            // si la información es válida
                            if (RequestObject.responseText.indexOf('invalid') == -1){
                                // Buscamos la div
                                document.getElementById('contacto').innerHTML = RequestObject.responseText;
                            } else {
                                // Por si hay algun error
document.getElementById('contacto').innerHTML = 'Intente mas tarde';
                            }
                        }
                    }
Como veran tiene un alert() comentado, el problema basicamente es que sin el alerta no devuelve el resultado del archivoAjax (he probado utilizando diferentes funciones de timeout), de la unica manera que procesa el resultado del archivo php (que simplemente hace un echo del mensaje que envio por GET), es añadiendo ese alert().

Cualquier sugerencia es bienvenida, saludos.
  #2 (permalink)  
Antiguo 12/02/2012, 16:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: Problema con metodo de Ajax

Hola:

Has probado programando el evento readystatechange antes de hacer la petición Ajax (es lo primero que se me ocurrió...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/02/2012, 16:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años
Puntos: 4
Respuesta: Problema con metodo de Ajax

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Has probado programando el evento readystatechange antes de hacer la petición Ajax (es lo primero que se me ocurrió...)

Saludos
Como seria? no me queda muy claro.
  #4 (permalink)  
Antiguo 12/02/2012, 16:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: Problema con metodo de Ajax

Hola:

Las peticiones se hacen con el método send, y por lo que veo estás haciendo esa petición sin tener programado el evento...


Lo tienes así:
Código:
RequestObject.send(null);
RequestObject.onreadystatechange = procesarPhp();
Y te propongo:

Código:
RequestObject.onreadystatechange = procesarPhp;
RequestObject.send(null);
Respondiendo veo que asignas al controlador del evento el resultado de tu función, pero creo que sobra el juego de paréntesis.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 12/02/2012, 16:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años
Puntos: 4
Respuesta: Problema con metodo de Ajax

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Las peticiones se hacen con el método send, y por lo que veo estás haciendo esa petición sin tener programado el evento...


Lo tienes así:
Código:
RequestObject.send(null);
RequestObject.onreadystatechange = procesarPhp();
Y te propongo:

Código:
RequestObject.onreadystatechange = procesarPhp;
RequestObject.send(null);
Respondiendo veo que asignas al controlador del evento el resultado de tu función, pero creo que sobra el juego de paréntesis.

Saludos
De hecho de esa manera ni siquiera con el alert me devuelve un resultado, debe venir por otro lado el problema...
  #6 (permalink)  
Antiguo 12/02/2012, 16:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: Problema con metodo de Ajax

Hola:

¿Has considerado los dos cambios...?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 12/02/2012, 16:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años
Puntos: 4
Respuesta: Problema con metodo de Ajax

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

¿Has considerado los dos cambios...?

Saludos
Ahora si funciona perfectamente, no me quedaba claro como realizaba la llamada al metodo, ahora me quedo claro.

Muchas gracias por tu ayuda.

Etiquetas: ajax, formulario, funcion, html, metodo, php
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 18:46.