Sebastian: Ajax - Callback in Array speichern

Beitrag lesen

Hallo Leute,
ich hab leider kein richtigen Betreff gefunden um das Problem zu beschreiben.

So nun zu meinem Problem, ich habe 2 Funktionen und eine Array. In der Funktion "Init()"
wird die Array mit 2 Spielerdaten gefüllt.

Innerhalb der for schleife wird eine weitere Funktion aufgerufen "getPlayerId()" in der
ein Json String geparst wird. Mir ist leider nicht möglich den Rückgabewert in die Array zu speichern, da er nicht mehr weiss wohin er es abspeichern soll:

"Uncaught TypeError: Cannot read property 'PlayerId' of undefined "

Wie kann ich das Problem lösen? Beschäftige mich mit Javascript noch nicht solange um alle Möglichkeiten vorher auszutesten.

Dann habe ich noch eine Frage. Ist es Möglich das mein Script erst weiter läuft wenn alle "Players" eine Id haben? Da alles Asynchron abläuft, kann es doch passieren das beim nächsten Funktionsaufruf die variable Player[1]["PlayerId"] noch 0 ist und ich somit nicht weiter arbeiten kann.

Vielen Dank

Mfg Sebastian

  
	var Players = new Array("Name1", "Name2");  
	var Player = new Array (Players.length);  
  
	function init()  
	{  
		Players = new Array("Tarulis", "B4nsi");  
		Player = new Array (Players.length);  
		for (i = 0; i < Players.length; i++)  
		{  
		        Player[i]["Name"] = Players[i];  
			Player[i]["PlayerId"] = 0;  
  
                        getPlayerId(Player[i],function(data) {  
				Player[i]["PlayerId"] = data; // Uncaught TypeError: Cannot read property 'PlayerId' of undefined 	  
			});  
                }  
	}  
  
	function getPlayerId(player,callback)  
	{  
		$.ajax({  
			url:      "https://census.soe.com/get/ps2/character/?name.first=" + player["Name"],  
			dataType: "jsonp",  
			success:  function(data)  
			{  
				player["PlayerId"] = data.character_list[0].id; // Uncaught TypeError: Cannot read property 'PlayerId' of undefined 	  
				callback(data.character_list[0].id);  
			}  
		});  
	}