AJAX - Ajax funciona en Firefox, pero no en IE9 ni en Chrome

   
Vista:

Ajax funciona en Firefox, pero no en IE9 ni en Chrome

Publicado por Pedro J J A (1 intervención) el 27/08/2011 15:25:05
Hola a todos, qué tal,

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:
1
2
3
4
5
6
7
8
9
<!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>


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:

Código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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)
}


Y esta es la página consulta.php (aunque en ella no está el problema en principio):

Código:
...
1
2
3
4
5
6
7
8
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";
...


Gracias de antemano, un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ajax funciona en Firefox, pero no en IE9 ni en Chrome

Publicado por jjaa (1 intervención) el 27/08/2011 20:12:58
Solucionado. Se trataba de un problema de caché que es bastante conocido por lo visto de IE y Ajax, para solucionarlo, por si a alguien le pasa, solo tenéis que poner en los ficheros PHP la siguiente cabecera:

<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
?>

gracias, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ajax funciona en Firefox, pero no en IE9 ni en Chrome

Publicado por Francisco Cruz (1 intervención) el 04/09/2012 19:51:43
Excelente. Me funciono. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ajax funciona en Firefox, pero no en IE9 ni en Chrome

Publicado por Leonel (1 intervención) el 08/10/2013 19:37:30
Me salvaste. Gracias !.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ajax funciona en Firefox, pero no en IE9 ni en Chrome

Publicado por Kelvin (1 intervención) el 05/03/2015 18:38:08
En html no me carga, no trabajo con php lo quiero hacer en html simple....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar