JQuery - gloabl数组没有按预期工作

时间:2015-12-23 05:51:06

标签: javascript jquery arrays global-variables

这会在警告框中显示文件的内容。只要警报在get-functions块中,它就可以正常工作:

var allActivities = [];

$(document).ready(function() {
    $.get('./activities.txt', function(result) {
        currentActivity = result.split(",");
        allActivities.push(currentActivity);
        alert(allActivities); // Alert box returns correct results
    });
}

但是当我将警报移到get-function范围之外时,警告框为空。我猜我已经弄乱了一些范围,但我无法弄清楚是什么。

var allActivities = [];

$(document).ready(function() {
    $.get('./activities.txt', function(result) {
        currentActivity = result.split(",");
        allActivities.push(currentActivity);
    });

    alert(allActivities); // Alert box is empty
}

我需要数组allActivities是全局的,以便我可以在.get函数之外访问它。所以我需要最后一个代码示例才能工作。换句话说,最后一个代码示例需要提醒内容。

1 个答案:

答案 0 :(得分:1)

收集评论:

由于$ .get是异步的,因此在填充数组之前会调用警报。全局数组正在按预期工作。需要稍后调用警报,例如在页面加载后单击按钮。

我已经测试过它并且有效。