Hallo zusammen,
ich beschäftige mich seit kurzen mit dem Thema AJAX.
Als Übung oder Idee möchte ich eine Webseite für mein Computerspiel erstellen. Hier werden alle meine Spiele Charakter aufgeführt. Jeder Charakter soll einen Update Button erhalten. Wenn dieser gedrückt wird, soll im Hintergrund eine API aufgerufen werden der die Daten dann in ein JSON File speichert, und als response Text dann zurückmelden das die Daten des entsprechenden Charakters aktualisiert wurden.
Soweit klappt das schon gut, mein Problem ist, dass ich mehr wie 10 oder 20 Charaktere habe. Wenn ich auf alle aktualisieren Buttons drücke, werden die Daten zwar alle aktualisiert aber der response Text wird anscheinend immer überschrieben und enthält nur die Information des letzten Aufrufes.
Ich denke das liegt daran, dass das API aufrufen und in File speichern ein paar Sekunden dauert.
Frage ist nur, gibt es eine Möglichkeit das trotzdem irgend wie umzusetzen?
Mit freundlichen Grüßen Oliver
ich beschäftige mich seit kurzen mit dem Thema AJAX.
Als Übung oder Idee möchte ich eine Webseite für mein Computerspiel erstellen. Hier werden alle meine Spiele Charakter aufgeführt. Jeder Charakter soll einen Update Button erhalten. Wenn dieser gedrückt wird, soll im Hintergrund eine API aufgerufen werden der die Daten dann in ein JSON File speichert, und als response Text dann zurückmelden das die Daten des entsprechenden Charakters aktualisiert wurden.
Soweit klappt das schon gut, mein Problem ist, dass ich mehr wie 10 oder 20 Charaktere habe. Wenn ich auf alle aktualisieren Buttons drücke, werden die Daten zwar alle aktualisiert aber der response Text wird anscheinend immer überschrieben und enthält nur die Information des letzten Aufrufes.
Ich denke das liegt daran, dass das API aufrufen und in File speichern ein paar Sekunden dauert.
Code:
function updateAPIdaten( cid ){ var erg = ''; var arr = []; if (window.XMLHttpRequest) { // AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera xmlhttp=new XMLHttpRequest(); } else { // AJAX mit IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { erg = xmlhttp.responseText; console.log( "Erg: " + erg ); arr = erg.split("|"); // UpdateShow( arr[1] ); //document.getElementById( cid ).innerHTML= arr[0] + " -> " + arr[1]; } } xmlhttp.open("GET","apidownload.php?cid="+cid ,true); xmlhttp.send(); }
Frage ist nur, gibt es eine Möglichkeit das trotzdem irgend wie umzusetzen?
Mit freundlichen Grüßen Oliver
Kommentar