Tilføj indholdet af en XML fil til en XHTML side

Tags:    javascript

<< < 12 > >>
Hej!

På min side http://redsplat.org/ har jeg lavet et system med JavaScript og AJAX, der dynamisk ændrer indholdet når brugeren skifter side. Indholdet bliver hentet fra en PHP side som XML. Indtil nu har jeg brugt innerHTML, til at tilføje dataen fra XML filen ind på min side, men jeg vil hellere bruge DOM, og er derfor gået i gang med at ændre koden. Jeg har fået det meste til at virke, det endeste jeg lige nu ikke kan finde ud af er hvordan jeg skal få det indhold der bliver hentet i XML ind på min side. Jeg har prøvet med følgende kode:
Fold kodeboks ind/udKode 

Men det giver følgende fejl: "Uncaught Error: WRONG_DOCUMENT_ERR: DOM Exception 4".

Siden og hele koden er på http://redsplat.org/



11 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Jeg er helt klar over at documentElement er dit root element. Ville bare gerne se dit response. Altså det svar du for fra serveren når du sender en AJAX andmodning. Kan forestille mig at DOM vil have en smule svært ved at appende http://redsplat.org/getresponse.php?site=weblog. Prøv at skrive <div> </div> istedet for, da jeg ikke ved om JS DOM understøtter short close tag.



Hvilket element er documentElement i dit tilfælde? Og kan du give et eksempel på din responseXML?



documentElement er root elementen i mit XML dokument: http://redsplat.org/getresponse.php?site=weblog.

Du kan se mit responeXML i min JavaScript fil. http://redsplat.org/script.js



Der sker i hvert fald noget i script.js på linje 56.
Fold kodeboks ind/udKode 

Burde nok være:
Fold kodeboks ind/udKode 




Jeg forstår ikke helt vad du mener..



Hvad udskriver dit PHP script....

I filen getresponse.php



Indlæg senest redigeret d. 21.07.2009 22:10 af Bruger #11328
Hvad udskriver dit PHP script....

I filen getresponse.php

Det kan du jo bar ese ved at gå ind på den, jeg har linket til den før.

http://redsplat.org/getresponse.php?site=weblog



Der sker i hvert fald noget i script.js på linje 56.
Fold kodeboks ind/udKode 

Burde nok være:
Fold kodeboks ind/udKode 

Det er hips som haps, og det er i hvert fald ikke det der er problemet.



Det er muligvis ikke problemet nej, men det er ikke hip som hap, men var lidt af en syntax error, som de fleste JavaScript compilere ikke ville godkende.. :)

Kigger på problemet senere, lige nu er det vidst sengetid...



Når jeg debugger dit JS får jeg en fejl som den du beskriver, men jeg får den på linje 53, linjen hvor du kalder "removeChild". For at løse problemet ændrede jeg navnet på din "content" i hoved-HTMLen til "container", blot for at have noget at ligge data i, og så ændrede jeg Javascriptets linje 53 og 54 til:
Fold kodeboks ind/udKode 

Dette fjerner indholdet korrekt, og sætter herefter indholdet ind i container-elementet.

Jeg ved så ikke om der er tale om en bug eller ej, men jeg fik et problem at getElementById ikke kunne finde objekter inde i det importerede XML. Jeg løste dog problemet ved flg. lille kode(til at sætte titel på siden):
Fold kodeboks ind/udKode 


Og det samlede callback bliver så:
Fold kodeboks ind/udKode 




<< < 12 > >>
t