Ik probeer door middel van AJAX enkele PHP-scripts op een pagina op te roepen. Het wonderlijke is nu: wanneer ik er slechts een oproep, werkt het prima. Zodra ik er meer achter elkaar oproep, gaat het opeens mis. Soms staat ook de output van het ene PHP-script in het DIV-element van de ander.
Nu was mijn idee dat er wellicht sprake is van caching van resultaten en dat dit de fouten verklaart. Daarop heb code op Internet gezocht en gevonden waarmee zeker gesteld kan worden dat de Javascript functies keurig achter elkaar worden geladen.
Het helpt echter helaas niet. Onderstaande code staat in de head. Het lijkt enigszins at random te gaan welke van de divs nu gevuld wordt met output van het php-script.
De Web Developer Addon in Firefox geeft ook geen foutmeldingen met onderstaande code (dat heeft me al vaak heel erg geholpen).
Wellicht zie ik iets heel simpels over het hoofd. Ik zie het echter niet.
Heeft iemand de frisse blik die me aantoont waar de fout (of fouten) zitten?
Nu was mijn idee dat er wellicht sprake is van caching van resultaten en dat dit de fouten verklaart. Daarop heb code op Internet gezocht en gevonden waarmee zeker gesteld kan worden dat de Javascript functies keurig achter elkaar worden geladen.
Het helpt echter helaas niet. Onderstaande code staat in de head. Het lijkt enigszins at random te gaan welke van de divs nu gevuld wordt met output van het php-script.
De Web Developer Addon in Firefox geeft ook geen foutmeldingen met onderstaande code (dat heeft me al vaak heel erg geholpen).
Wellicht zie ik iets heel simpels over het hoofd. Ik zie het echter niet.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| <script type="text/javascript"> // function to create XmlHttp Object function getxmlhttp(){ var xmlHttp = false; if (window.XMLHttpRequest){ // If IE7, Mozilla, Safari, etc: Use native object var xmlHttp = new XMLHttpRequest(); } else{ if (window.ActiveXObject){ // ...otherwise, use the ActiveX control for IE5.x and IE6 var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } //function to process an XMLHttpRequest function process_ajax(phpPage, divID, getOrPost){ xmlhttp = getxmlhttp(); var obj = document.getElementById(divID); if(getOrPost == "get"){ xmlhttp.open("GET",phpPage); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ obj.innerHTML = xmlhttp.responseText; } } xmlhttp.send(null); } return false; } function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } } //laden forceren addLoadEvent(function() { process_ajax('instrumentkoppelingbeheer_lijst_vrije_instrumenten_ajax.php?', 'LijstVrijeInstrumenten', 'get'); }); addLoadEvent(function() { process_ajax('instrumentkoppelingbeheer_lijst_bezette_instrumenten_ajax.php?', 'lstToegewezen', 'get'); }); addLoadEvent(function() { process_ajax('instrumentkoppelingbeheer_lijst_leden_ajax.php?', 'LijstLeden', 'get'); }); </script> |
[ Voor 3% gewijzigd door TromboneFreakus op 22-11-2008 22:34 ]