Hola,
Tengo una instruccion:
Código:
peticion01=new ConstructorXMLHttpRequest()
que llama a l siguiente codigo javascript
Código:
function ConstructorXMLHttpRequest()
{
if (window.XMLHttpRequest) /* Vemos si el objeto window (la
base de la ventana
* del navegador) posee el metodo, como es en Mozilla y
Safari*/
{
return new XMLHttpRequest(); // Si lo tiene , crearemos el objeto con este metodo.
}
else if (window.ActiveObject) /* si no tenia el metodo anterior, deberia ser el Internet Explorer, un navegador
que emplea objetos ActiveX, lo mismo, miramos si tiene el metodo de creacion. */
{
/* HAy diferentes versiones del objeto, creamos un array, que contiene los diferentes tipos desde la version más reciente, hasta la mas antigua*/
var versionesObj=new Array('Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP')
for (var i=0; i< versionesObj.length;i++)
{
try
{
/* Intentamos devolver el objeto intentando crear las
* diferentes versiones
* se puede intentar crear uno que no existe y se
* producira un error*/
return new ActiveXObject (versionesObj[i])
}
catch (errorControlado) // capturamos el error, ya que podría crearse otro objeto
{
}
}
}
/* Si el navegador llego aquí es porque no posee manera alguna de crear el objeto, emitimos iun mensaje de error*/
throw new Error("No se pudo crear el objeto XMLHttpRequest");
}
El problema es que cuando que cuando clicko al boton, no me sale el resultado que ha de salir.
Probandolo con IE8, el debugger me dice que la instruccion
Código:
return new XMLHttpRequest();
no es valida por todos los navegadores marcados.
Segun el codigo que he creado esta instruccion solo debería ejecutarse, para Mozilla por lo que cuando ejecuto en IE8, no deberia de ejecutarse ese IF. Entonces, ¿porque se ejecuta?
Agradeceria que alguien me ayudara a resolver este problema. Pido perdon por adelantado, si la duda es tonta, pero es que soy un novato en Ajax, y esa duda me esta bloqueando el aprendizaje.
Un saludo y gracias