No se pueden obtener datos con XMLHttpRequest (el estado 0 y responseText están vacíos):
xmlhttp = new XMLHttpRequest ();
xmlhttp.open ("OBTENER", "http://www.w3schools.com/XML/cd_catalog.xml", verdadero);
xmlhttp.onreadystatechange = función ()
{
si (xmlhttp.readyState == 4)
alerta ("estado" + xmlhttp.status);
}
xmlhttp.send ();
Alerta "estado 0".
La misma situación con la solicitud localhost (cd_catalog.xml se guarda como un archivo local)
xmlhttp.open ("OBTENER", "http: //localhost/cd_catalog.xml", verdadero);
Pero con la solicitud de IP localhost
xmlhttp.open ("OBTENER", "http://127.0.0.1/cd_catalog.xml", verdadero);
y con la solicitud de archivo local
xmlhttp.open ("OBTENER", "cd_catalog.xml", verdadero);
todo está bien (estado 200)
¿Qué puede causar el problema (estado = 0) con la solicitud en línea?
PD: Live HTTP Headers muestra que todo está bien en los 4 casos:
HTTP / 1.1 200 OK Longitud del contenido: 4742
PS2: servidor web local Apache en VMWare (sistema operativo host Win7, sistema operativo invitado Ubuntu, adaptador de red - NAT). Navegador: Firefox.
XMLHttpRequestno puede realizar solicitudes entre dominios. Sin embargo, existen algunas soluciones. Mira jquery, por ejemplo.
http://127.0.0.1por casualidad? ;)