Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2012, 14:49
Elalux
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 4 meses
Puntos: 22
AJAX funciona solo después de recargar la página

Que tal maestros, a continuación mi pregunta.

Utilizo AJAX para que al hacer click sobre un vínculo, cargar un archivo .htm en un <div> de la página actual, pueden ver la página en el siguiente enlace:

http://www.yucatanproperties.com/prueba.php


En todos los navegadores funciona bien, pero en IE/8 sucede los siguiente:

Cuando se carga por pirmera vez la página, al hacer click sobre el vínculo no se carga el archivo y el navegador muestra el siguiente error:

Cita:
Object doesn't support this property or method
funciones_ajas.js
Línea: 4
Código: 0
Carácter: 9
Sin embargo, si actualizo la página, el vínculo funciona perfectamente y se carga el archivo externo en el <div>.

Para confundirme todavía más, este comprtamiento extraño se observa cuando la página usa codificación utf-8, si utiliza codificación iso-8859-1 funciona bién desde la primera vez que se carga la página.

Agradezco desde ahora cualquer orientación ó ayuda para solucionar éste error, a continuación pongo los códigos de los archivos.

Página con el vínculo:

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="javascript" src="funciones_ajas.js"> </script>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>
<a href="#" onClick="getData('saludo.htm', 'mostrar')">VINCULO</a>
<div id="mostrar"></div>

</body>
</html>
Página que se debe cargar en el <div> (saludo.htm)
Cita:
ESTE ES EL ARCHIVO DE SALUDO
Archivo con la funcion AJAX (funciones_ajas.js)
Cita:
var XMLHttpRequestObject = false;

if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);

XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}

XMLHttpRequestObject.send(null);
}
}
Saludos