首页 > 解决方案 > 局部函数完成后全局变量失去其值

问题描述

我有这段小代码


JS

function insertDataIntoTable(jsonUrl, Id) {
    var obj;
    $.getJSON(jsonUrl, function(data){
        console.log("1: "+data.elem[Id]);  //outputs the correct object
        obj= data.elem[Id];
        console.log("2: "+obj);            //still is correct
    });
    console.log("3: "+obj);                //now it logs "undefined"
}

它指的是一个格式良好的 JSON,如果不是真的需要,它不想发布。我希望有人可以帮助我。

标签: javascriptjquery

解决方案


function insertDataIntoTable(jsonUrl, Id) {
var obj;
var callback = function(){
    console.log("3: "+obj);                //now it logs "undefined"
}
$.getJSON(jsonUrl, function(data){
    console.log("1: "+data.elem[Id]);  //outputs the correct object
    obj= data.elem[Id];
    console.log("2: "+obj);            //still is correct
    callback();
});
}

推荐阅读