Espero que puedan ayudarme, y tengan un poco de tiempo para dedicarme.
Me encuentro en proceso de desarrollo de una de mis primera Webs con Ajax, y me encuentro con un problema.
Creo, que el problema no es en lo referido a AJAX (httpRequest) sino a un problema de Objetos, el cual, no me doy cuenta y no veo.
Les voy a postear el comienzo de desarrollo de mi librería y posteriormente, les digo qué es lo que me ocurre.
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript1.2" type="text/javascript">
// "Clase LIB_ajax"
function LIB_ajax_object()
{
// variable para el uso del objeto Ajax
var ajaxObj = null;
/* *********************************************************** CREACIÓN DEL OBJETO AJAX ***************************************************************** */
// Para Navegadores IE con Javascript 5 o superior (compilación condicional)
// Los navegadores que no sean Explorer interpretarán todo este código como un comentario
/*@cc_on @*/
/*@if(@_jscript_version >= 5)
{
// Usamos compilación condicional para evitar errores en versiones de Internet Explorer antiguas.
var ids = ["Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0; !ajaxObj && i<ids.length; i++)
{
try
{
ajaxObj = new ActiveXObject(ids[i]);
// alert (ajaxObj)
}
catch(ex)
{
ajaxObj = false;
}
}
}
@end @*/
// Para Mozilla, Nescape y Opera
if (!ajaxObj && typeof XMLHttpRequest != "undefined")
{
// alert("creado en FIREFOX, Netscape, Opera");
ajaxObj = new XMLHttpRequest();
}
// alert (ajaxObj);
/* ***************************************************************************************************************************************************** */
// Function to get data from Server
ajaxObj.getData = function(data_format, param, param_value, destiny_URL, metod, theStatus, id_destiny, whereCondition)
{
alert("En esta función cogeremos los datos del servidor");
}
return(ajaxObj);
}
//creamos el objeto
var LIB_ajax = new LIB_ajax_object();
</script>
<script language="JavaScript1.2" type="text/javascript">
function cogerDatos()
{
LIB_ajax.getData();
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="head">
<ul>
<li><a href="javascript:void(null)" onclick="cogerDatos()" title="Showroom">Showroom</a></li>
<li><a href="javascript:void(null)" onclick="cogerDatos()" title="Catálogo de Productos"><span class="pres">Catálogo Productos</span></a></li>
<li><a href="javascript:void(null)" onclick="cogerDatos()" title="Directorio de Empresas">Directorio Empresas</a></li>
<li><a href="javascript:void(null)" onclick="cogerDatos()" title="Noticias y Eventos">Noticias y Eventos</a></li>
</ul>
</td>
</tr>
</table>
</body>
</html>
El problema es Internet Explorer.
Al cargar la página, me da un error de Javascript el cual dice que "El objeto no acepta la propiedad o método", y hace refernecia a la línea de ajaxObj.getData = function (.......
Por favor, ruego que si alguien sabe porqué me está fallando esto, me ayude o me postee lo necesario para hacerlo funcionar.
Me considero un medio-alto programador en Javascript, pero me tiene loco este tema, dado que hace 6 horas que intento solucionarlo, y no lo veo (quizas esté pasando sobre el problema, y de tanto insistir, no me doy cuenta).
Os agradezco vuestra paciencia al leer este post, y más aun os agradeceré la información que me podais dar para seguir trabajando.
Ante todo, muchas gracias.
Un saludo para tod@s.