1

我试图在通过 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 数据,以便以后可以从外部访问它。也许有人可以帮助我?

4

1 回答 1

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
}
于 2011-04-28T15:17:49.927 回答