Foros del Web » Programando para Internet » Javascript » Frameworks JS »

AJAX que funciona en Firefox y no en IExplorer ¿?

Estas en el tema de AJAX que funciona en Firefox y no en IExplorer ¿? en el foro de Frameworks JS en Foros del Web. Gente, buenas a todos. Tengo un problemita. Hice una paginita en la que si tildo un checkbox le cambia la propiedad "visibility" a un "div" ...
  #1 (permalink)  
Antiguo 15/10/2008, 15:00
Avatar de pabloe9k  
Fecha de Ingreso: julio-2008
Ubicación: Argentina
Mensajes: 190
Antigüedad: 16 años, 5 meses
Puntos: 3
Pregunta AJAX que funciona en Firefox y no en IExplorer ¿?

Gente, buenas a todos.
Tengo un problemita.
Hice una paginita en la que si tildo un checkbox le cambia la propiedad "visibility" a un "div" y pasa a mostrar un combo que tengo en el archivo "combo.php". Todo sin recargar la página.
El problema es que me funciona en Firefox pero no en Internet Explorer.
Alguien me podría marcar el error que no estoy viendo, por favor?
Dejo el código.
Muchas gracias!!


Código:
<script>

   function startAjax()
   {
   	  if(window.XMLHttpRequest)  //se utiliza para firefox o safari.
   	  {
   	  	 variable=new window.XMLHttpRequest();   
   	  }
   	  
   	  else if(window.ActiveXObject)   //se utiliza para iexplorer.
   	  {
   	  	 variable=new windows.ActiveXObject("Microsoft.XMLHTTP");
   	  }
   	  
   	  else
   	  {
	     alert("Este navegador no soporta AJAX");		
	  }
	  
	  
   variable.open("GET", "combo.php");
   
   variable.onreadystatechange=respuesta;      //'respuesta' es el nombre de una función mia.
   
   variable.send(null);
   
   }
   
   
   function respuesta()  //respuesta la usé yo en lugar de CALLBACK
   {
   	  if(variable.readyState==4)   //estado '4' significa que está lista la respuesta del sevidor.
   	  {
   	  	 if(variable.status==200)  //estado '200' significa que la respuesta está OK.
   	  	 {
   	  	 	x=document.getElementById("miDiv");
   	  	 	x.innerHTML=variable.responseText;
		 }
   	  }
   	  
   }

   
   function mostrarCombo()
   {
      variable2=document.getElementById("miDiv");	  
	  
	  if(variable2.style.visibility=="hidden")
	  {
   	     variable2.style.visibility="visible";
   	     startAjax();
   	  }
   	  
   	  else
   	  {
   	     variable2.style.visibility="hidden";
   	     startAjax();
   	  }
   }
   
   
</script>


<body>

<input type="checkbox" onchange="mostrarCombo()">
<div id="miDiv" style="visibility:hidden"></div>
  #2 (permalink)  
Antiguo 15/10/2008, 17:43
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
Respuesta: AJAX que funciona en Firefox y no en IExplorer ¿?

loading............


Quita esto.

if(variable.status==200) //estado '200' significa que la respuesta está OK.
{

x=document.getElementById("miDiv");
x.innerHTML=variable.responseText;
}

el status 200 significa que la url fue procesada correctamente PERO cuando la url viene del caché no es STATUS 200.. es status 503 creo... no recuerdo bien, ten en cuenta eso. Asi que puedes quitar eso, o bien añadir esto.

variable.open("GET", "combo.php?rnd="+Math.random());




connection closed.
__________________

Maborak Technologies
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:38.