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.
XMLHttpRequest
no puede realizar solicitudes entre dominios. Sin embargo, existen algunas soluciones. Mira jquery, por ejemplo.
http://127.0.0.1
por casualidad? ;)