Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2007, 19:34
Zhak
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago
Mensajes: 122
Antigüedad: 20 años, 6 meses
Puntos: 0
PHP y AJAX: Actualizar contenido automáticamente sin "refresh" no funciona

Hola,
hoy decidí entrar a aprender más sobre AJAX, que me resulta muy atractivo para un sitio web.
Lo que quiero hacer es que una tabla donde tengo una consulta MySQL para mostrar los últimos posts de mi foro se actualice automáticamente cada 1 segundo, así permitiendo ver los últimos posts en tiempo real.
estoy usando el siguiente código que saqué de internet, pero al ponerlo no me muestra nada, mientras que cuando uso el código PHP con la consulta directamente, todo va de maravilla.

Dónde quiero que los datos sean insertados tengo lo siguiente:

Código PHP:
<script type="text/javascript">
    function 
createRequestObject() {
    
        var 
req;
    
        if(
window.XMLHttpRequest){
            
// Firefox, Safari, Opera...
            
req = new XMLHttpRequest();
        } else if(
window.ActiveXObject) {
            
// Internet Explorer 5+
            
req = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            
// There is an error creating the object,
            // just as an old browser is being used.
            
alert('There was a problem creating the XMLHttpRequest object');
        }
    
        return 
req;
    
    }
    
    
// Make the XMLHttpRequest object
    
var http createRequestObject();
    
    function 
sendRequest(act) {
        
        
// Open PHP script for requests
        
http.open('get''ajax.php?act='+act);
        
http.onreadystatechange handleResponse;
        
http.send(null);
    
    }
    
    function 
handleResponse() {
    
        if(
http.readyState == && http.status == 200){
    
            
// Text returned FROM PHP script
            
var response http.responseText;
    
            if(
response) {
                
// UPDATE ajaxTest content
                
document.getElementById("countPosts").innerHTML response;
                
setTimeout(countPosts,1000);
            }
    
        }
    }

    function 
countPosts() {
        
sendRequest('countPosts');
    }
</script> 
el archivo ajax.php tiene lo siguiente:

Código PHP:
<?php
if ($_GET['act'] == "countPosts") {
    
aqu&#237; la consulta SQL en php y todo... este codigo solo funciona bien, asi que no hay necesidad de ponerlo aquí..
}
?>

Muchas gracias,
JAC

edit: Gracias por correjirme sobre la estructura de mi post MaBoRaK ;).
__________________
http://www.xtasy.cl

Última edición por Zhak; 04/04/2007 a las 19:47 Razón: Olvidé las etiquetas PHP entre el código.