Ok, ik probeer dus via Javascript om bepaalde gegevens uit mijn XML document weer te geven, alleen krijg ik niks te zien als ik de functie uitvoer.
Ik heb nu een lokaal XML bestand dat ik in (bijv. een textarea) weer wil geven.
Het XML document is op de volgende manier opgebouwd en heet afspraken.php (met een application/xml header):
Nu wil ik dus via Javascript in een textarea de waardes van <name>, <album> en <url> weergeven. Hiervoor had ik de volgende manier in gedachte:
En deze functie roep ik zo aan:
Alleen als ik nu op de link klikt gebeurt er niks, terwijl ik nu (volgens mij) de nodeNames van de Jungle Brothers te zien zou moeten krijgen.
Zie ik nu iets over het hoofd of die ik iets onweis dom?
Ik heb nu een lokaal XML bestand dat ik in (bijv. een textarea) weer wil geven.
Het XML document is op de volgende manier opgebouwd en heet afspraken.php (met een application/xml header):
XML:
1
2
3
4
5
6
7
8
9
10
11
12
| <artists> <artist id="a1"> <name>Big Daddy Kane</name> <album>Long Live The Kane</album> <url>http://www.mp3.com/big-daddy-kane/artists/9/summary.html</url> </artist> <artist id="a2"> <name>Jungle Brothers</name> <album>Straight Out The Jungle</album> <url>http://www.mp3.com/jungle-brothers/artists/42/summary.html</url> </artist> </artists> |
Nu wil ik dus via Javascript in een textarea de waardes van <name>, <album> en <url> weergeven. Hiervoor had ik de volgende manier in gedachte:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| function loadArtistData(id){ var url = "artiesten.php", http_request = false; if(window.XMLHttpRequest){ http_request = new XMLHttpRequest(); if(http_request.overrideMimeType){ http_request.overrideMimeType('text/xml'); } }else if(window.ActiveXObject){ try{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ http_request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e) {} } } if(!http_request){ alert('Geen verbinding mogelijk!'); return false; } http_request.onreadystatechange = function(){ if(http_request.readyState == 4){ if(http_request.status == 200){ var XMLData = http_request.responseXML; var rootNode = XMLData.getElementById("a"+id); for(var i=0; i<rootNode.childNodes.length;i++){ alert(rootNode.childNodes[i].nodeName); } } } }; http_request.open('GET', url, true); http_request.send(null); } |
En deze functie roep ik zo aan:
HTML:
1
| <a href="javascript:void(null)" title="Jungle Brothers" onclick="loadArtistData('a2')">Jungle Brothers</a> |
Alleen als ik nu op de link klikt gebeurt er niks, terwijl ik nu (volgens mij) de nodeNames van de Jungle Brothers te zien zou moeten krijgen.
Zie ik nu iets over het hoofd of die ik iets onweis dom?
[ Voor 34% gewijzigd door kleautviool op 21-03-2006 22:08 ]