Tengo un problema con ajax en IE 6, todas las páginas que contienen ajax me dan el error 'XMLHTTP no definido' o 'ajax no definido' . En IE7 me funciona bien todo sólo si deshabilito 'compatibilidad con xmlhttp nativo.
¿Alguien me puede ayudar?
En la página principal tengo:
<script src="ajax/prototype.js" type="text/javascript"></script>
<script src="ajax/scriptaculous.js" type="text/javascript"></script>
<script src="ajax/ajax.js"type="text/javascript"></script>
<script src="panel_control_driver.js" type="text/javascript"></script>
ajax.js (dónde defino el objeto xmlhttp):
function obtenerXHR()
{
req=false;
if (XMLHttpRequest)
{
req=new XMLHttpRequest();
}
else
{
if (ActiveXObject)
{
//Definimos un vector con las distintas posibilidades
var vectorversiones= ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
//Leo recorremos e intentamos instanciar cada uno
for (var i=0; i<vectorversiones.length; i++)
{
try
{
req =new ActiveXObject (vectorversiones[i]);
return req
}
catch (e)
{
}
}
}
}
return req;
}
en panel_control_driver.js referida en la página principal tengo la petición:
function Buscar()
{
ajax.open("POST", "panel_control_buscar.php",true);
//divResultado = $('contenido');
ajax.onreadystatechange = procesarPeticionBuscar;
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviamos los valores
var parametros= $("frmBuscar").serialize();
ajax.send(parametros);
//ajax.send("idusuario="+idusuario);
}
function procesarPeticionBuscar()
{
if (ajax.readyState==1)
{
$('procesando').innerHTML = '<img src="images/procesando.gif">';
}
if (ajax.readyState==4)
{
if (ajax.status==200)
{
$('procesando').innerHTML ="";
divBuscar.innerHTML=ajax.responseText
}
}
}