Cómo acceder a un conjunto de variables dentro de una llamada Ajax

Estoy tratando de establecer una variable dentro de una función que llama a algún código PHP a través de Ajax. El problema es que la variable no es accesible desde fuera de la función, por así decirlo.

var startPageSelected = ''; function getSavedStartPage() { $.post(webroot + 'home/get_saved_startpage/', function(data){ startPageSelected = $.parseJSON(data); alert(startPageSelected); //alert 1 }); } function something() { alert(startPageSelected); //alert 2 } 

Entonces, cuando llamo a getSavedStartPage, la ” alerta 1 ” me da el valor correcto, pero fuera de esto como ” alerta 2 ” en mi ejemplo, la variable permanece vacía. Supongo que tiene algo que ver con el scope y / o las cosas asíncronas de ajax pero no pude averiguar cómo almacenar mis datos de ajax para poder acceder a ellos desde el exterior más adelante. Tal vez alguien me puede ayudar en eso?

Puede pasar sus datos retured como un parámetro a su función.

 function getSavedStartPage() { $.post(webroot + 'home/get_saved_startpage/', function(data){ startPageSelected = $.parseJSON(data); alert(startPageSelected); //alert 1 something(startPageSelected); }); } function something(data) { alert(data); //alert 2 }