Não é possível obter dados com XMLHttpRequest (status 0 e responseText está vazio):
xmlhttp = new XMLHttpRequest (); xmlhttp.open ("GET", "http://www.w3schools.com/XML/cd_catalog.xml", true); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) alert ("status" + xmlhttp.status); } xmlhttp.send ();
Alerta "status 0".
A mesma situação com a solicitação localhost (cd_catalog.xml é salvo como um arquivo local)
xmlhttp.open ("GET", "http: //localhost/cd_catalog.xml", true);
Mas com a solicitação de IP localhost
xmlhttp.open ("GET", "http://127.0.0.1/cd_catalog.xml", verdadeiro);
e com a solicitação de arquivo local
xmlhttp.open ("GET", "cd_catalog.xml", true);
está tudo bem (status 200)
O que pode causar o problema (status = 0) com a solicitação online?
PS: Live HTTP Headers mostra que tudo está OK em todos os 4 casos:
HTTP / 1.1 200 OK Comprimento do conteúdo: 4742
PS2: servidor da web local Apache em VMWare (sistema operacional Win7, sistema operacional Ubuntu, adaptador de rede - NAT). Navegador - Firefox.
XMLHttpRequest
não pode fazer solicitações entre domínios. Existem algumas soluções alternativas. Veja jquery, por exemplo.
http://127.0.0.1
por acaso? ;)