jQuery.Ajax返回空数组
jQuery.ajax returning empty array
我目前正在学习使用API。我正在从我的Github仓库检索数据。我试图让脚本加载JSON信息到githubData变量。但是当我将githubData变量记录到控制台时,它返回一个空数组。然而,如果我在加载页面后用完全相同的函数创建一个新变量,脚本就会完全正常工作。当页面加载时,它并没有加载实际数据。它加载一个空数组。我意识到这个函数是异步的,那么我如何在加载页面时使数组不为空呢?下面是我的代码:
var githubAPI = 'https://api.github.com/repos/zacharysohovich/ticTacToe/readme';
var items = {};
jQuery.ajax({
url: githubAPI,
contentType: 'application/json; charset=utf-8',
success: function(resultData) {
$.each(resultData, function(key,val) {
items[key] = val;
});
}
});
var githubData = $.map(items,function(k,v) {
return ("<p>" + k + ": " + v + "</p>");
});
问题是这是一个异步调用,这意味着一旦它触发了请求,它就会进入下一段代码。一旦它到达githubData项仍然是一个空对象,因为还没有收到api响应。我会在var items = {}
下面实例化githubData变量就像
var items = {}
var githubData;
然后在success:函数中,在你做$之后。每个你都可以放
githubData = $.map(items,function(k,v) {
return ("<p>" + k + ": " + v + "</p>");
});
这确保API调用已经完成,并且只要响应返回的内容
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回