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.