这是一个基本的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。
答案 0 :(得分:1)
如果你调用$.getJSON()
,你正在进入异步上下文,并且它之后的所有内容都会立即执行。因此,在服务器响应之前,您的alert
称为。
使用延迟代替
var promise = $.getJSON( ... );
promise.done(function() {
alert("yeah");
});