Javascript 当我控制台getjson()时,它返回未定义的
我是javascript新手。我想在函数getjsonData中存储Json数据。我已经创建了一个私有函数retrieveJsonData,并通过getJsonData传递它。但是我不能在onload函数之外访问jsonJavascript 当我控制台getjson()时,它返回未定义的,javascript,json,ajax,Javascript,Json,Ajax,我是javascript新手。我想在函数getjsonData中存储Json数据。我已经创建了一个私有函数retrieveJsonData,并通过getJsonData传递它。但是我不能在onload函数之外访问json var DataController = (function(){ var retrieveJsonData = function(){ var api,ourRequest; api = 'http://52.6
var DataController = (function(){
var retrieveJsonData = function(){
var api,ourRequest;
api = 'http://52.69.49.40/assignment/getServiceData.php';
ourRequest = new XMLHttpRequest();
ourRequest.open('GET',api);
ourRequest.onload = function(){
obj = JSON.parse(ourRequest.responseText);
getJsonData(obj);
}
ourRequest.send();
}
var getJsonData = function(object){
return object;
}
return{
AjaxObject:function(){
getJsonData();
console.log(getJsonData());
}
}
})();
您的
getJsonData
接受一个参数,并返回该参数的值。这就是所谓的“身份功能”,它完全不起任何作用。您可能希望将该数据存储在某个位置,您可以将函数替换为:
var data = undefined;
function getJsonData() {
if (arguments.length > 0) {
data = arguments[0];
}
return data;
}
不过,这不是一个很好的功能,因为它不符合锡罐上的说明。它声称可以获取JSON数据,但也可以存储它。函数本身不存储数据