Newsgroup: it.comp.lang.javascript
Titolo: problema XMLHttpRequest e IE

Ciao a tutti,
cerco di fare il loading di un file xml usando XMLHttpRequest.
il seguente codice:
function getText () {
  httpRequest = new XMLHttpRequest();
  httpRequest.open('GET', 'collegamenti.xml', true);
  httpRequest.onreadystatechange = function () {
   if (httpRequest.readyState == 4) {
     var xmlDocument = httpRequest.responseXML;
     alert(httpRequest.responseText);
     alert(xmlDocument.getElementsByTagName('*').length);
}
su Firefox funziona bene, li primo alert mi restituisce il testo
dell'xml e il secondo il numero dei tag
Se sostituisco la prima riga della funzione cioè 
httpRequest = new XMLHttpRequest(); con
httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); oppure con
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
per rendere compatibile il tutto con IE ottengo che il primo alert
funziona comunque correttamente mentre il secondo no! Mi restituisce
un numero di Tag pari a 0 mentre i tag sono 31.
Dopo aver fatto svariate prove mi è parso di capire che ne
Msxml2.XMLHTTP ne Microsoft.XMLHTTP supportino responseXML.
allora ho provato con XMLDOM ma penso che non funzioni con la stessa
logica di XMLHttpRequest e non sono riuscito a fare funzionare il
tutto sotto  IE.
Premetto che devo usare XMLHttpRequest perchè in realtà il file che
vado a caricare non è statico ma viene generato dinamicamente da un
servlet e quindi uso XMLHttpRequest per interrogare direttamente il
servlet.
Mi potete aiutare?? 
Grazie andrea

 logica di XMLHttpRequest 
Non per caricare un file generato da una servlet.
-- 
ZER0
~ The Tangent Universe collapsed 5975 days, 5 hours, 54 minutes and 45 seconds ago.


Per adesso sto provando con un file xml statico te lo mando
<?xml version="1.0" encoding="UTF-8"?>
<links>
<link nome="j1">
<posizione>0</posizione>
<href_da_xml>
http://www.sun.com
</href_da_xml>
<video>si</video>
<domanda>jd1</domanda>
<risposta1>dsd</risposta1>
<risposta2>sdf</risposta2>
<risposta3>fs</risposta3>
<risposta4>s</risposta4>
<risposta5>s</risposta5>
</link>
<link nome="j2">
<posizione>1</posizione>
<href_da_xml>
http://www.sun.com
</href_da_xml>
<video>no</video>
<domanda>jd2</domanda>
<risposta1>df</risposta1>
<risposta2>fs</risposta2>
<risposta3>er</risposta3>
<risposta4>s</risposta4>
<risposta5>s</risposta5>
</link>
<link nome="j3">
<posizione>2</posizione>
<href_da_xml>
http://www.sun.com
</href_da_xml>
<video>si</video>
<domanda>jd3</domanda>
<risposta1>er</risposta1>
<risposta2>re</risposta2>
<risposta3>er</risposta3>
<risposta4>er</risposta4>
<risposta5>rer</risposta5>
</link>
</links>
Grazie

 un numero di Tag pari a 0 mentre i tag sono 31.
Se fai:
alert(xmlDocument.documentElement.tagName);
cosa succede? (Per capire se il documento l'ha caricato oppure no.)
E se invece di mettere l'asterisco metti il nome di un tag esistente?
Del tipo:
alert(xmlDocument.getElementsByTagName('elem').length);
Gaetano

...


 Per adesso sto provando con un file xml statico te lo mando
Ma chiami direttamente il file con estensione .xml, oppure questo file
statico è ugualmente "sparato" fuori dalla servlet?
-- 
.ZER0//sign
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

...


 l'xml.
In tal caso può dipendere dalle informazioni HTTP, come ti ho detto. Vedi
di aggiungerle secondo le indicazioni date.
-- 
ZER0
~ The Tangent Universe collapsed 5979 days, 3 hours, 27 minutes and 44 seconds ago.

 perche??????????????
Ma tu stai usando IE 6 / Windows oppure IE 5.2 / Mac?
Gaetano

...
