Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery-gloabl数组未按预期工作_Javascript_Jquery_Arrays_Global Variables - Fatal编程技术网

Javascript JQuery-gloabl数组未按预期工作

Javascript JQuery-gloabl数组未按预期工作,javascript,jquery,arrays,global-variables,Javascript,Jquery,Arrays,Global Variables,这将在警报框中提供文件的内容。只要警报位于get functions块内,它就可以正常工作: var allActivities = []; $(document).ready(function() { $.get('./activities.txt', function(result) { currentActivity = result.split(","); allActivities.push(currentActivity);

这将在警报框中提供文件的内容。只要警报位于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函数范围之外时,警报框是空的。我猜我弄乱了一些示波器,但我不知道是什么

var allActivities = [];

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

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

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

从注释中收集:

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


我已经对它进行了测试,它运行正常。

JavaScript是一种异步语言。对于ajax调用,执行流不会停止。在本例中,
alert
get在ajax调用等待文本文件时执行。$.get是异步的,因此在调用时尚未填充数组alert@Einar是的,会的。@VenugopalJavaScript并不是天生异步的。和