Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getJSON完成后不更新全局变量_Javascript_Jquery_Json_Variables - Fatal编程技术网

Javascript getJSON完成后不更新全局变量

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调用,尽

使用getJSON方法后,我想更新变量,但它似乎没有从.done()函数内部更新。以下控制台日志为空

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是否已被填充我们不可能重复的只想强调“在回调中执行”,因为回调就是为了这个。