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

发布于 2024-11-04 05:32:40 字数 590 浏览 0 评论 0原文

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

I'm trying to set a variable within a function that calls some PHP code via Ajax. The problem is that the variable is not accessible from outside the function, so to say.

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
}

So when I call getSavedStartPage the "alert 1" gives me the correct value, but outside of this like "alert 2" in my example, the variable remains empty. I guess it has something to do with the scope and/or the asynchronous ajax stuff but I couldn't figure out how to store my ajax data instead so that I can access it from outside later on. Maybe someone can help me on that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟花易冷人易散 2024-11-11 05:32:40

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

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
}

You can pass your retured data as a parameter to your function.

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
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文