2017-08-10 1 views
1

Ich habe mehrere Methoden versucht, um die zurückgegebenen Daten von einer $ .get-Methode zu bekommen, habe aber kein Glück. Bis jetzt gibt der folgende Code eine Warnung mit den Daten zurück, die ich will, aber was ich erreichen möchte, ist die finalPublicIp Variable zu den zurückgegebenen Daten, so dass ich diese Variable an anderen Orten verwenden kann.

var finalPublicIp = $.get("https://api.ipify.org/", function(data){ 
    alert("Data: " + data); 
}); 

Vielen Dank für alle Hilfe im Voraus.

+0

Können Sie den Code enthalten, den Sie geschrieben haben, um die Methode aufzurufen? – Sujith

Antwort

1

Das Verhalten der Methode $.get() ist asynchron. Sie haben den Wert in der Callback-Methode zuweisen:

var finalPublicIp; 

$.get("https://api.ipify.org/", function(data){ 
    finalPublicIp = data; 
}); 

Beachten Sie, dass aufgrund des asynchronen Verhalten, wird der Wert von finalPublicIp wird erst nach dem Rückruf eingestellt wird Verfahren ausgeführt wird.

+0

Wenn die var jetzt alarmiert wird, gibt sie undefined zurück? –

+0

@mrchriswindsor Da der asynchrone Callback noch nicht fertig ausgeführt wurde. Sie müssen sich zuerst um dieses asynchrone Verhalten kümmern. –

+0

@RobbyCornelissen oh mein Schlechter. Ich verstehe, was du jetzt sagst. Also gibt es keinen Weg dies zu erreichen? –