Newsgroup: it.comp.lang.javascript
Titolo: ancora AJAX

Ringrazio tutti per le risposte precedenti, un nuovo quesito :)
E' possibile analizzare la risposta di un xmlHttpRequest utilizzando il DOM?
Immagino di sì, usando responseXML invece di responseText. Il problema è 
che nel responseText ho l'html esatto della pagina che sto richiamando 
(non passo per il server, chiamo diretto un'altra pagina web, per cui 
non ho codice serverside), ma se provo a fare:
pippo=req.responseXML;
alert(pippo.firstChild.nodeName);
ottengo nell'alert un "parsing error" o "parse error", adeso non ricordo.
Dove sbaglio?
Marco

 Dove sbaglio?
il dato restituito è well-formed? prova con un semplice
"<Response><ok><![CDATA[ok!]]></ok></Response>" per capire se il problema è
nel codice restituito
Vedi anche qua se può esserti d'aiuto:
 
http://developer.mozilla.org/en/docs/DOM:document.documentElement
-- 
"La realtà è un'illusione causata dall'assenza di alcool."
									      A.

 Dove sbaglio?
Visualizza l'intero documento XML che ti viene restituito da Gecko:
	var serializer = new XMLSerializer();
	var xml = serializer.serializeToString(req.responseXML);
	alert(xml);
Cosě vedrai qual'č l'errore riscontrato dal browser.
-- 
~ Confondi il mondo, sorridi tutti i lunedě!

 
Grazie a tutti e due per gli interventi che mi hanno dato spunti di 
riflessione interessanti. Ora provo e vi faccio sapere :)
Marco

 
Benissimo, rieccomi dopo aver sperimentato un paio di cose.
La console dice Errore Entità non definita, mentre interrogando l'xml 
come suggerito da Zero viene leggermente più dettagliato, perchè 
restituisce:
Errore interpretazione XML: entità non definita
Indirizzo [URL]
linea numero 1, colonna numero 2017.
L'url tra parentesi quadre è il corretto url.
C'è un modo per rimediare o è inutilizzabile?
Marco



Aggiungo questo, non so se sia utile o meno: se accedo direttamente alla 
pagina incriminata con firefox, la console degli errori non protesta.
Marco

 C'è un modo per rimediare o è inutilizzabile?
sì: restituendo un xml well-formed ...
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 
Vabbè, d'accordo, ma come faccio? Per capirci, la pagina non è mia, 
quindi non posso riscriverla, a me servono solo dei dati che mi è più 
comodo estrarre usando il dom che non lavorando a mano con espressioni 
regolari a manetta :)
Aggiungo che se non richiedo la pagina con ajax ma lavoro col dom 
eseguendo lo script con la pagina stessa non ho problemi (ricordo che 
sto lavorando su uno script per greasemonkey).
Marco
-- 
know whatahmean, nudge nudge, know whatahmean, say no more?

NudgeNudge ha scritto:

Ero sempre io, non volevo fare morphing :)
Marco

 regolari a manetta :)
non è che hai molte soluzioni: se non è xml well-formed non puoi caricarli
in un document xml.
O scopri cosa c'è che non va, recuperi tutto via responseText, sistemi con
regexp e poi dai in pasto al motore xml, oppure non usi il DOM.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 Semplice ed efficace :-)
Sei un genio del male, ora ci provo :)
Marco

Mike Yanagita ha scritto:

Mah, io qua non ci capisco più niente...
Inserito l'iframe, la pagina si carica correttamente all'interno, 
tramite il dom inspector vedo tutto l'albero correttamente, ma se provo 
ad accedere al dom riesco ad ottenere tramite getElementsByTagName 
soltanto il body, più giù non vado, non trova nulla...
Marco

 Solo al termine potrai accedere il DOM, ovviamente.
BINGO!!
Ecco il problema, non caricava in tempo la pagina :)
Ora devo solo trovare l'evento corrispondente per sapere quando posso 
accedere al dom dell'iframe, dopo di che attendo il prossimo problema :)


NudgeNudge ha scritto:

Ero sempre io...
Era più facile del previsto, setAttribute('onload','quellochevogliofare()');
Grazie mille!
Marco