Me encuentro desarrollando una aplicación Web en ajax, es de las primeras que hago, y aún me quedan algunas dudas por solventar.
Ahora mismo he programado una aplicación en PHP y MySql que actualiza el texto de un DIV con el de una columna de una tabla de la BBDD. Funciona correctamente en Firefox, pero en Internet Explorer 9 y Chrome no funciona por más combinaciones de objetos Ajax que he puesto.
Os copio a continuación el código que utilizo por si veis alguna irregularidad:
Esta es la página PHP que contiene el DIV con la que hago la consulta mediante ajax, como veis, cada 2 segundos realizo una consulta a BBDD:
Código:
Esta sería la página javascript donde se encuentra la función "MostrarConsulta" que llama a la página consulta.php que realiza la llamada a la BBDD:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ... <body onLoad="setInterval('MostrarConsulta(\'consulta.php\')',2000);"> ... <div id="result"></div> ... </html>
Código:
Y esta es la página consulta.php (aunque en ella no está el problema en principio):function objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function MostrarConsulta(datos){ divResultado = document.getElementById('result'); ajax=objetoAjax(); ajax.open("GET", datos); ajax.onreadystatechange=function() { if (ajax.readyState==4) { divResultado.innerHTML = divResultado.innerHTML + ajax.responseText; } } ajax.send(null) }
Código:
Gracias de antemano, un saludo ... include "conexion.php"; $result=mysql_query("SELECT campo FROM tabla WHERE id=" . $id); while($row = mysql_fetch_array($result)) { echo "<br/>" . $row["campo"]; } include "cerrar-conexion.php"; ...