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.