我是javascript的新手。我想在函数getjsonData中存储Json数据。我创建了一个私有函数retrieveJsonData,我通过getJsonData传递它。但是我无法在onload函数之外访问json。
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());
}
}
})();
答案 0 :(得分:1)
您的getJsonData
接受一个参数,并返回该参数的值。它被称为“身份功能”,完全没有任何作用。您可能希望将数据存储在某处,您可以通过将函数替换为:
var data = undefined;
function getJsonData() {
if (arguments.length > 0) {
data = arguments[0];
}
return data;
}
但是,这并不是一个非常好的功能,因为它没有按照它在锡上所说的那样做。它声称获取JSON数据,但它也存储它。