如何在Ajax调用中访问变量集

我正在尝试在一个函数中设置一个变量,该函数通过Ajax调用一些PHP代码。 问题是该变量不能从函数外部访问,所以说。

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 } 

因此,当我调用getSavedStartPage时 ,“ alert 1 ”给出了正确的值,但在我的示例中,如“ alert 2 ”之外,变量仍为空。 我想它与范围和/或异步ajax的东西有关但我无法弄清楚如何存储我的ajax数据,以便我可以在以后从外部访问它。 也许有人可以帮助我吗?

您可以将已恢复的数据作为参数传递给您的函数。

 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 }