Ik ben voor m'n werk bezig om een kalender te maken. De kalender wordt gevuld met gegevens uit een database die ik via een XmlHttpRequest object met Javascript ophaal. Op zich gaat dit allemaal zonder problemen.
Ik moet nu echter gegevens van verschillende urls ophalen, maar dat wil maar niet lukken. Zodra ik de code in een loop gooi, krijg ik alleen de resultaten van de laatste url. De code ziet er (vereenvoudigd) als volgt uit:
handleStateChange is een functie waarin ik de xml parse en verder verwerk.
met createXMLHTTP maak ik een XmlHttpRequest object aan, afhankelijk van de browser.
Ik heb zelf het vermoeden dat de oorzaak ligt bij het feit dat ik constant hetzelfde object gebruik, waardoor de opgehaalde XML van de eerste url niet verwerkt kan worden, voordat de XML van url 2 geladen wordt. Ik heb echter geen idee hoe ik dit kan oplossen. Weet iemand van jullie misschien een goede oplossing?
Ik moet nu echter gegevens van verschillende urls ophalen, maar dat wil maar niet lukken. Zodra ik de code in een loop gooi, krijg ik alleen de resultaten van de laatste url. De code ziet er (vereenvoudigd) als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
| aUrls = new Array("url1", "url2");
xmlhttp = false;
xmlhttp = createXMLHTTP();
for (var x = 0; x < aUrls.length; x++) {
if (xmlhttp) {
xmlhttp.open("POST", aUrls[x], true);
xmlhttp.onreadystatechange = handleStateChange;
xmlhttp.send(null);
}
} |
handleStateChange is een functie waarin ik de xml parse en verder verwerk.
met createXMLHTTP maak ik een XmlHttpRequest object aan, afhankelijk van de browser.
Ik heb zelf het vermoeden dat de oorzaak ligt bij het feit dat ik constant hetzelfde object gebruik, waardoor de opgehaalde XML van de eerste url niet verwerkt kan worden, voordat de XML van url 2 geladen wordt. Ik heb echter geen idee hoe ik dit kan oplossen. Weet iemand van jullie misschien een goede oplossing?
Xbox Live: Chevalric