Micha: Ajax [onreadystatechange] wird nicht aufgerufen! Warum nur?

Beitrag lesen

Hallo Hans Wurst,

zunächst: Eine Antwort auf Dein eigentliches Problem habe ich nicht bzw. ich bin mir nicht sicher. Möglicherweise überschreibst Du in der Schleife den Aufruf bzw. Dein Objekt immer wieder. Das würde zumindest erklären, warum beim asynchronen Aufruf alles "durcheinander" ankommt. Ich wäre daher anders an die Sache gegangen.

http_request = false;

Zum einen würde ich die Variable http_request nicht global deklarieren sondern in der Funktion getAjax. Somit wird bei jedem Aufruf ein eigenes Objekt erzeugt, die dann auch parallel abgearbeitet werden können.

http_request.onreadystatechange = function() { getAjaxData(country); }

Ich würde an dieser Stelle den String aus http_request.responseText an die Funktion zur Weiterverarbeitung übergeben:

http_request.onreadystatechange = function() { if (http_request.readyState == 4) getAjaxData(http_request.responseText); }

Die Variable country wird scheinbar nicht benötigt, wenn doch, einfach wieder hinzufügen. Ansonsten kannst Du nun mit dem String in getAjaxData das machen, was Du damit vorhattest...

Mit freundlichem Gruß
Micha

--
kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku