string return = undefined außer wenn vorher alert

11/12/2015 00:19 Krabat2#1
Ich kenne mich nicht sonderlich gut aus mit JS aber ich habe ein PRoblem mit einer Methode die ein String zurück liefern soll:

Code:
var y;
	$.get("map.php", function(data){
		var x = data;
		x = x.substring(x.search(/Position/), x.length);
		x = x.substring(0, x.search(/<\/p>/));
		
		y = x.substring(0, x.length);})
return y;
Diese Methode liefert "undefined" zurück.

Code:
var y;
	$.get("map.php", function(data){
		var x = data;
		x = x.substring(x.search(/Position/), x.length);
		x = x.substring(0, x.search(/<\/p>/));
		
		y = x.substring(0, x.length);});
alert(y);
return y;
Also ich habe nur ein alert(y); hinzugefügt.
Das Fenster zeigt ebenso "undefined" an, die Methode liefert jetzt aber den gewünschten Wert zurück??
11/12/2015 02:59 Mikesch01#2
Das liegt wohl daran, dass $.get asynchron läuft und bis die Daten angekommen sind, ist der Wert nicht definiert.
11/12/2015 14:37 Krabat2#3
Ah ok, mein Fehler ich werde sicherlich eine funktion finden die erst anfängt sobald die Daten da sind :) thx
11/13/2015 11:00 Serraniel#4
mit .ajax kannst du asynch: false setzen.
[Only registered and activated users can see links. Click Here To Register...]