从JQuery函数$ .getJSON中获取数据

时间:2014-05-23 00:12:51

标签: javascript jquery json scope getjson

这是一个基本的JQuery / Javascript问题:如何从getJSON函数中获取数据?

以下代码在函数结束前效果很好。我有几个getJSON需要一个接一个地运行,我想避免嵌套它们,如果我可以:

//Using the Web API to pull all the information out for the current ORG ID
$.getJSON('http://localhost:8081/dhis/api/organisationUnits/' + vuCurrentFacilityID + '.json', function (data) {
  //alert(data.message);
  console.log(data);
  vuCurrentFacilityName = data.name;
  vuParentFacilityID = data.parent.name;
});

alert(vuCurrentFacilityName); //does not work

我错过了什么? 这个问题非常similar to the following

1 个答案:

答案 0 :(得分:1)

如果你调用$.getJSON(),你正在进入异步上下文,并且它之后的所有内容都会立即执行。因此,在服务器响应之前,您的alert称为

使用延迟代替

var promise = $.getJSON( ... );

promise.done(function() {
    alert("yeah");
});