Javascript getJSON完成后不更新全局变量
使用getJSON方法后,我想更新变量,但它似乎没有从.done()函数内部更新。以下控制台日志为空Javascript getJSON完成后不更新全局变量,javascript,jquery,json,variables,Javascript,Jquery,Json,Variables,使用getJSON方法后,我想更新变量,但它似乎没有从.done()函数内部更新。以下控制台日志为空 var myVar; $.getJSON("url/path", function(data){ }).done(function(data) { myVar = data; }); console.log(myVar); $.getJSON是异步的,因此console.log调用总是在请求完成和调用done函数之前进行 看看如何进行同步ajax调用,尽
var myVar;
$.getJSON("url/path", function(data){
}).done(function(data) {
myVar = data;
});
console.log(myVar);
$.getJSON是异步的,因此console.log调用总是在请求完成和调用done函数之前进行
看看如何进行同步ajax调用,尽管这是一种反模式,您应该能够在回调中完成所有操作。您确认ajax调用成功了吗?比如,
console.log(data)
就在myVar=data之前代码>?是数据检索一个带有响应的对象,将console.log放在done函数中,然后检查myVar是否已被填充我们不可能重复的只想强调“在回调中执行”,因为回调就是为了这个。