Javascript数组访问外部函数

标签 javascript jquery ajax arrays json

我正在尝试使用 $.getJSON 获取 json 数据,它工作正常。 这是我的代码:

$(document).ready(function(){
    var MainArray = new Array();
    $.getJSON('check-location.php?onload=true', function(result) {
        $.each(result, function(i){
            MainArray[i] = result[i].CountryName;
        });
    });

    $(".drop-down").append("<div>" + MainArray[0] + "</div>");
});

我试图将它分配给数组供以后使用,但是当我尝试访问它并显示它时,我得到了 undefined

我确实获得了所有数据,但是当我将它分配给 MainArray 时,我无法在 $.each 函数之外访问它,我不知道为什么。

最佳答案

那是因为 Ajax 是异步的,您正试图附加一个不存在的值:

$.getJSON('check-location.php?onload=true', function(result) {
    $.each(result, function(i){
        MainArray[i] = result[i].CountryName;
    });
    $(".drop-down").append("<div>" + MainArray[0] + "</div>");
});

关于Javascript数组访问外部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16700631/

相关文章:

javascript - 带有源映射的调试器中的损坏名称

javascript - Noodle.js 设置/jQuery 流程(网页抓取帮助!)

javascript - 响应 XML 为空

javascript - 在 Controller 内部的应用程序对象上嵌入属性或方法

JavaScript:在输入文本上使用向上和向下箭头

javascript - jQuery 检查给定 div 中每个输入的值

javascript - 如何限制字段仅接受 4 个数字字符作为输入并在 div 中获取警报

javascript - 当我单击更新按钮时,它不会更改/更新(CodeIgniter,更新多行)

javascript - 在没有jquery的情况下检测html输入中的Enter按键

javascript - 在事件上更新 jQuery 变量