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 == 4 && 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>
Código PHP:
<?php
if ($_GET['act'] == "countPosts") {
aquí 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 ;).