【发布时间】:2016-07-08 12:42:44
【问题描述】:
我一直在尝试创建一个调用分页 API 的函数,循环遍历每个页面并将 JSON 值添加到数组中。我希望函数返回数组。
该函数对 api 进行初始调用,并通过计算从所有页面返回的结果数并除以 10(每页的结果数为 10)来计算它必须循环的次数。到目前为止,函数看起来像这样:
function loopPages(url) {
$.getJSON(url, function (data) {
var pages = Math.ceil(data.count/10 + 1);
var i;
var myList = [];
for (i = 1; i < pages; i++) {
$.getJSON("http://urladdress.com/?page=" + i, function (data) {
obj = data.results;
$.each(obj, function (k, v) {
myList.push(v.city_name);
});
return myList
});
}
});
}
loopPages('http://urladdress.com/?page=1');
但是,我无法确定 return 语句应该去哪里以及如何从函数外部访问数组。
我还寻找了解决这个问题的其他方法(我猜这很常见),但一无所获。非常感谢任何帮助!
【问题讨论】:
-
不太了解否决票,您提出的答案甚至没有涉及分页问题。
-
@sammy88888888 没有投反对票,但这是因为分页不是问题。您已经知道要使用多少页,因此只需根据需要回滚到 0 或 1。问题在于使用 AJAX 调用的结果。
标签: javascript jquery arrays pagination