如何将AJAX调用的数据存储在变量中?

Luk*_*kmo 0 javascript jquery

可能重复:
除了函数本身之外,不能在jQuery的.ajax方法中使用返回的数据

我正在尝试将AJAX调用的返回值存储到变量中.

var getJSONData = function(){
    JSONData = $.getJSON('/api');
};

var reloadPage = function(json_data){
    //Do some DOM manipulation with the JSON data
    //console.log(json_data) returns undefined
};

reloadPage(getJSONData());
Run Code Online (Sandbox Code Playgroud)

此代码不起作用.当我直接访问它或使用以下代码时api工作

$.getJSON('/api', function(data){console.log(data)});
Run Code Online (Sandbox Code Playgroud)

这工作,并获得我想要的JSON数据.

知道我怎么能让它工作吗?

Mus*_*usa 5

怎么样

var getJSONData = function(callback){
    JSONData = $.getJSON('/api', callback);
};

var reloadPage = function(json_data){
    //Do some DOM manipulation with the JSON data
    //console.log(json_data) returns undefined
};

getJSONData(reloadPage);
Run Code Online (Sandbox Code Playgroud)