我有一个数组,我想用 AJAX 调用的响应来填充它,如下所示:
var dict = [];
function fillArray(){
$.post('getUsersOnline.php', function(phpReturnVal){
// ...
for(var i = 0; i < phpReturnVal.length; i++){
$.get("https://api.twitch.tv/kraken/streams" , function(data){
dict[data.key] = data;
});
});
}
function doStuff(){
// dict is empty or undefined here
}
我如何用对象填充字典,以便我可以在 doStuff() 中检索它们?目前,我可以将内容插入到 dict 中,但是当我尝试访问 fillArray() 函数之外的 dict 时,我得到一个空的 dict 变量,因为我假设 GET 调用是异步的,并且直到所有 JS 代码之后才会发生已执行...
最佳答案
因此,dict
是一个没有 push
方法的对象
。您需要 dict=[];
如果您必须有 {}
,那么您需要键:值对来填充它,例如:
dict[key] = value;
关于javascript - 使用嵌套 AJAX 调用的响应填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29335048/