gpt4 book ai didi

javascript - 当我控制台 getjson() 它返回未定义

转载 作者:行者123 更新时间:2023-12-03 02:08:15 25 4
gpt4 key购买 nike

我是 JavaScript 新手。我想将 Json 数据存储在函数 getjsonData 中。我创建了一个私有(private)函数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());
}
}


})();

最佳答案

您的 getJsonData 采用一个参数,并返回该参数的值。它是所谓的“恒等函数”,它绝对不执行任何操作。您可能想将该数据存储在某处,可以通过将函数替换为:

var data = undefined;
function getJsonData() {
if (arguments.length > 0) {
data = arguments[0];
}
return data;
}

不过,这并不是一个很好的函数,因为它并没有按照其声称的那样进行操作。它声称获取 JSON 数据,但它也存储它。

关于javascript - 当我控制台 getjson() 它返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com