【问题标题】:How to access a variable set within an Ajax call如何访问 Ajax 调用中的变量集
【发布时间】:2011-08-14 19:43:28
【问题描述】:

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

【问题讨论】:

  • 由于范围的原因,我认为它不是 不可访问,您可能只是在 AJAX 调用完成之前和设置变量之前调用 something()

标签: javascript jquery ajax var


【解决方案1】:

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

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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    相关资源
    最近更新 更多