2011-04-28 48 views
1

我试图在通过Ajax调用某些PHP代码的函数内设置变量。问题在于变量不能从函数外部访问,所以可以这么说。如何访问Ajax调用中设置的变量

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的“警报1”给我正确的值,但此之外像在我的例子“警报2”,变量保持为空。我想它与范围和/或异步ajax的东西有关,但我不知道如何存储我的ajax数据,以便我可以在以后从外部访问它。也许有人可以帮助我呢?

+1

由于范围的原因,我认为它不可访问*您可能在AJAX调用完成之前以及在设置变量之前调用something() – andrewtweber 2013-09-11 16:37:58

回答

0

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

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 
} 
相关问题