Impossibile ottenere dati con XMLHttpRequest (lo stato 0 e responseText è vuoto):
xmlhttp = nuovo XMLHttpRequest (); xmlhttp.open ("GET", "http://www.w3schools.com/XML/cd_catalog.xml", true); xmlhttp.onreadystatechange = funzione () { if (xmlhttp.readyState == 4) alert ("status" + xmlhttp.status); } xmlhttp.send ();
Avvisa lo "stato 0".
La stessa situazione con la richiesta localhost (cd_catalog.xml viene salvato come file locale)
xmlhttp.open ("GET", "http: //localhost/cd_catalog.xml", true);
Ma con la richiesta IP localhost
xmlhttp.open ("GET", "http://127.0.0.1/cd_catalog.xml", true);
e con la richiesta del file locale
xmlhttp.open ("GET", "cd_catalog.xml", true);
tutto è OK (stato 200)
Cosa può causare il problema (stato = 0) con la richiesta online?
PS: Live HTTP Headers mostra che tutto è OK in tutti e 4 i casi:
HTTP / 1.1 200 OK Lunghezza contenuto: 4742
PS2: server Web locale Apache su VMWare (sistema operativo host Win7, sistema operativo guest Ubuntu, adattatore di rete - NAT). Browser: Firefox.
XMLHttpRequest
non può fare richieste interdominio. Ci sono però alcune soluzioni alternative. Guarda jquery, per esempio.
http://127.0.0.1
per caso? ;)