javascript - 存储 $.getJSON() 对本地变量的响应

标签 javascript jquery

<分区>

我需要多次使用一个函数,并希望避免一遍又一遍地编写相同的方法。我想使用 $.getJSON() 响应并将其存储在将返回的 var 中。这样我就可以调用该方法。

function startFilter(){
            var grid = [];
            $.getJSON('data/gridData1.json',function(json){
                grid = json;
                console.log(grid);
            });
            console.log(grid);
            return grid;
        }

网格变量设置在 .getJSON 内部,但不在 .getJSON 外部。有什么想法吗?如果需要更多信息,请告诉我?

最佳答案

Ajax 调用是异步的。这是事物在时间中的定位方式。

function startFilter(){
    var grid = []; // (1)
    $.getJSON('data/gridData1.json', function(json){  // (2)
        grid = json;  // (5)
        console.log(grid); // (6)
    });
    console.log(grid);  // (3)
    return grid;  // (4)
}

您应该使用回调来构建您的逻辑:

function startFilter(callback) {
    $.getJSON('data/gridData1.json', callback);
}

var grid = [];
startFilter(function(json) {
    grid = json;
    // your logic here
});

关于javascript - 存储 $.getJSON() 对本地变量的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989114/

相关文章:

javascript - 分割单个值

javascript - $.get() 加载的图像不显示

javascript - $ 在 jQuery 中是什么意思?

javascript - 从 Firefox 扩展获取浏览器版本

javascript - jQuery 1.10.2 选择器在 IE 中损坏了吗?

javascript - 重复(模仿)OpenCart 确认删除

javascript - 我如何知道某个 iframe 何时从页面中删除

javascript - 使用 javascript 将对象绑定(bind)到模板

jquery - 鼠标在其他 div 上显示的隐藏按钮

Javascript 自动完成功能不适用于空格