Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2010, 11:13
sreon
 
Fecha de Ingreso: septiembre-2010
Mensajes: 43
Antigüedad: 14 años, 2 meses
Puntos: 0
Ajax no responde,se queda en estado readyState 1

Hola estoy haciendo una página web en la que haya un menú fijo y todo lo demás sea cargado por Ajax.
El archivo php se encargará de mostrar el menú fijo si no le pasa por método GET nada,pero en el caso que se le pase algo,se cargará por ajax en un Div.
El archivo functions.js se encarga de realizar todas las funciones Javascript necesarias,en este caso son tres:
  1. Generar el objeto XHR: Funcion objetoAjax()
  1. Asignarle un nombre al objeto y generar:Funcion menuhorizontal()
  1. Devolver la respuesta del servidor y esa respuesta meterlo en un div.
Ahora os dejo el archivo functions.js,a ver si podeis ayudarme,que yo creo que es donde está el problema y no en el archivo PHP.
functions.js:
Cita:

function objetoAjax() {
var xmlhttp = false;
try {
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (E) {
try {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (Err) {
xmlhttp=false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
};


function menuhorizontal(direccion,target1) {
var ajax = objetoAjax();
ajax.open("GET",direccion);
ajax.send(null);
ajax.onreadystatechange = respuesta(target1,ajax);
};

function respuesta(targetcontent,ajax) {
targetcontent = document.getElementById(targetcontent);
if (ajax.readyState==1) {
content.innerHTML="Cargando...";
} else if (ajax.readyState==2) {
content.innerHTML="Estado 2...";
} else if (ajax.readyState==3) {
content.innerHTML="Estado 3...";
} else if (ajax.readyState==4) {
content.innerHTML=ajax.responseText;
};
};
Como podeis ver,por metodo GET al servidor,en que Div será cargado todo el contenido de Ajax.
El problema no puede estar en el archivo PHP ya que si abro una pagina con la direccion que se le pasa a menuhorizontal,todo me funciona pero cuando lo hago con Ajax no hace nada.
Lo unico que hace es quedarse todo el rato en cargando...


¿Como puedo solucionarlo,donde puede estar el fallo?
Gracias