| |||
problema entre navegadores hola que tal soy relativamente nuevo en esto de ajax, quisiera ver si alguien se ha topado con esto tengo este codigo para una peticion sencilla de ajax, pero solo funciona en IE, no quiere funcionar en firefox, de antemano gracias |
| |||
Respuesta: problema entre navegadores uy olvide el codigo aqui esta function mostrarMunicipio(str) { xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Browser does not support HTTP Request"); return; } var url="../php/DropDownMunicipio.php"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlhttp.onreadystatechange=stateChanged; xmlhttp.open("GET",url,true); divResultado = document.getElementById('divMunicipio'); divResultado.innerHTML= '<img src="../img/a.gif" />'; xmlhttp.send(null); } function stateChanged() { if (xmlhttp.readyState==4) { document.getElementById("divMunicipio").innerHTML= xmlhttp.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); } if (window.ActiveXObject) { // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } |
| |||
Respuesta: problema entre navegadores No se si sera por esto pero prueba a poner la creacion del activeobject en un else if ya k tal cual esta si existe el ActiveObject es el eultimo k devuelve. No se si sera por eso, de todos modos veo k en tu codigo no creas el objeto para IE viejos. Te paso el codigo k uso yo, pruebalo a ver k tal. Cita: if (window.XMLHttpRequest) { // checks if browser is opera, safari, mozilla, etc. return new XMLHttpRequest() }else if (window.ActiveXObject){ // checks if browser is internet explorer try { return new ActiveXObject("Msxml2.XMLHTTP") }catch (e){ // if old version of internet explorer try{ return new ActiveXObject("Microsoft.XMLHTTP") }catch (e){ } } }else { return false } |