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

Mi ajax falla en FF, no en IE, ayuda!!

Estas en el tema de Mi ajax falla en FF, no en IE, ayuda!! en el foro de Frameworks JS en Foros del Web. He estado buscando información al respecto y no encuentro solución, por eso os pido me ayudeis, soy novato en ajax. En fin, os expongo el ...
  #1 (permalink)  
Antiguo 22/10/2010, 07:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Mi ajax falla en FF, no en IE, ayuda!!

He estado buscando información al respecto y no encuentro solución, por eso os pido me ayudeis, soy novato en ajax. En fin, os expongo el tema.

Funciona en IE pero no funciona en FF.

Estoy haciendo un script que hace que cuando inserto un post en wordpress, este se añade automáticamente en facebook. Funciona de la siguiente manera:

1- He añadido un onclick al boton "publicar" de wordpress que me lleva a la función facebook()

2- La función facebook() es la siguiente:
Código:
<script type="text/javascript" language="javascript">
function nuevoAjax(){ 
  var xmlhttp=false; 
  try { 
   // Creación del objeto ajax para navegadores diferentes a Explorer 
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  } catch (e) { 
   // o bien 
   try { 
     // Creación del objet ajax para Explorer 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { 
     xmlhttp = false; 
   } 
  } 

  if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
   xmlhttp = new XMLHttpRequest(); 
  } 
  return xmlhttp; 
}

function facebook(){
        var registroid=document.getElementById("post_ID").value;
        var ajax=nuevoAjax();
        ajax.open("GET", "../facebook/facebook.php?registro_id="+registroid,true);
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        ajax.send();
        }
    </script>


</head>
En fin, lo que hace es coger la ID del post que se va a añadir y pasarla a mi fichero facebook.php que es el que se encarga de sacar todos los datos que necesito y hace el envío a facebook.


Bueno, el archivo facebook.php por si solo funciona, le añado la variable en la url y me postea en facebook.

Y lo peor es que todo funciona correctamente en IE pero no en FF. He probado cambiandolo a sincrono (cambiando el true a false) y funciona en IE y en FF, pero lo necesito asincrono. También he probado a hacerlo por POST y nada. He usado firebug y solo muestra la URL correcta a la que se hace el envío en rojo y un circulo rojo con aspas a la derecha.

También me ha dado por probar con jQuery y obtendo el mismo resultado que con ajax.

Alguien tiene una idea de donde está el fallo?
gracias de antemano.
  #2 (permalink)  
Antiguo 22/10/2010, 10:01
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 11 meses
Puntos: 9
Respuesta: Mi ajax falla en FF, no en IE, ayuda!!

en primer lugar pon el: ajax.send(null);

segundo, prueba con el onreadystatechange si está llegando la información al servidor:

Código:
function facebook(){
	ajax = nuevoAjax();
	var registroid=document.getElementById("post_ID").value;
ajax.open("GET", "../facebook/facebook.php?registro_id="+registroid,true);
	ajax.onreadystatechange = rAjax;
	ajax.send(null);
	return;
}

function rAjax() {
	if (ajax.readyState == 4) {
		if(ajax.status == 200) {
			alert('llego');
                              }
	}else{
		document.getElementById('espera').innerHTML = 'cargando';
	}	
}
__________________
Quitenme la vida pero no la bebida.
  #3 (permalink)  
Antiguo 22/10/2010, 12:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Mi ajax falla en FF, no en IE, ayuda!!

Hola, gracias por la respuesta, aunque no ha sido la solución me ha ayudado al implementar el "onreadystatechange" y he encontrado por fin la solución.

El problema venía porque al hacer submit el envío ajax se paraba en FF, cosa que no ocurría en IE.
Lo he solucionado cambiando el onclick del submit por un onsubmit return en el form, y usando el readystate he devuelto true solo cuando este era 3, con lo cual ya estaba recibiendo respuesta.

Saludos.
  #4 (permalink)  
Antiguo 22/10/2010, 14:22
 
Fecha de Ingreso: octubre-2010
Mensajes: 69
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Mi ajax falla en FF, no en IE, ayuda!!

No recuerdo que me pasó por mas que revisaba y revisaba el código, pero fué lo mismo que a ti, utiliza el método onsubmit en lugar del onclick, de momento lo hago así siempre, siento no haber visto tu problema antes.

Yo también estoy aprendiendo, yo estoy buscando alguna manera de incluir forms en archivos dentro del getElementbyID a ver si me furula. Tanto lenguaje me está confundiendo las funciones de cada una.

Etiquetas: ajax, falla
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 15:03.