Mijn vraag
Ik help momenteel een klasgenoot met een opdracht voor XML om dit te begrijpen hoe het werkt, echter loop ik nu op de basis al vast. (Zelf heb ik volledig php gebruikt voor de opdracht en JS is niet mijn sterkste kant)
Het gaat om het volgende waarop we vastlopen.
Ik heb lokaal 2 bestanden in een map staan:
index.html
en de XML = test.xml. Daadwerkelijke XML is langer maar dat is niet relevant voor dit topic.
Op het stukje:
na is de pagina identiek aan:
https://www.w3schools.com...name=tryxml_display_table
Echter, wanneer ik de lokale html pagina opstart in chrome, IE of Firefox krijg ik geen response op de onclick van de button.
Wanneer ik het op de w3s editor doe werkt het direct.
Ik heb het aanvullende stukje toegevoegd omdat ik dacht dat de readyState anders was maar dit is in beide gevallen hetzelfde.
Waarom werkt dit lokaal niet en online wel? Mogelijk is het iets onwijs simpels maar ik staar hier nu al 2 uur naar..
Ik help momenteel een klasgenoot met een opdracht voor XML om dit te begrijpen hoe het werkt, echter loop ik nu op de basis al vast. (Zelf heb ik volledig php gebruikt voor de opdracht en JS is niet mijn sterkste kant)
Het gaat om het volgende waarop we vastlopen.
Ik heb lokaal 2 bestanden in een map staan:
index.html
code:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| <!DOCTYPE html> <html> <style> table,th,td { border : 1px solid black; border-collapse: collapse; } th,td { padding: 5px; } </style> <body> <p id="test"></p> <script> document.getElementById("test").innerHTML = document.readyState; </script> <button type="button" onclick="loadXMLDoc()">Get my CD collection</button> <br><br> <table id="demo"></table> <script> function loadXMLDoc() { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xmlhttp.open("GET", "test.xml", true); xmlhttp.send(); } function myFunction(xml) { var i; var xmlDoc = xml.responseXML; var table="<tr><th>Artist</th><th>Title</th></tr>"; var x = xmlDoc.getElementsByTagName("CD"); for (i = 0; i <x.length; i++) { table += "<tr><td>" + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</td><td>" + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</td></tr>"; } document.getElementById("demo").innerHTML = table; } </script> </body> </html> |
en de XML = test.xml. Daadwerkelijke XML is langer maar dat is niet relevant voor dit topic.
code:
1
2
3
4
5
6
7
8
9
10
11
| <?xml version='1.0' encoding='UTF-8'?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG> |
Op het stukje:
code:
1
2
3
4
5
| <p id="test"></p> <script> document.getElementById("test").innerHTML = document.readyState; </script> |
na is de pagina identiek aan:
https://www.w3schools.com...name=tryxml_display_table
Echter, wanneer ik de lokale html pagina opstart in chrome, IE of Firefox krijg ik geen response op de onclick van de button.
Wanneer ik het op de w3s editor doe werkt het direct.
Ik heb het aanvullende stukje toegevoegd omdat ik dacht dat de readyState anders was maar dit is in beide gevallen hetzelfde.
Waarom werkt dit lokaal niet en online wel? Mogelijk is het iets onwijs simpels maar ik staar hier nu al 2 uur naar..