我的问题是它没有在循环中获取所有页面数据,就像我运行脚本一次循环一次然后它给出所有20条记录但是如果我们增加循环就像说5次那么对所有它必须提供100条记录,但它会提供50-55结果的随机记录,如果我在循环中逐个单独运行,那么它可以提供100条记录
function top_rated(){
for(var k=1;k<=1000;k++){
var url = 'http://api.themoviedb.org/3/',
mode = 'movie/top_rated',
key = '?api_key=<xxxxxxxxxxxxxx>&page='+k;
$.ajax({
url: url + mode + key,
async: false,
contentType: 'application/json',
dataType: 'jsonp',
success: function (data) {
$.each(data, function(i, item) {
if(i == "results") {
da = data[i];
$.each(da, function (j, item) {
if(!item.id) {return false; }
fetchmovie(item.id,'top_rated');
});
}
});
},
error: function (request,error) {
alert('Network error has occurred please try again!');
}
});
}
}
答案 0 :(得分:1)
我做了一些研究,并在their website上找到了这个。
新系统将在所有8个实例中共享IP地址的状态,并提供适当的平衡速率限制。速率限制本身保持不变(10秒范围内最多30个请求)。关键的区别在于您的请求期间的响应处理以及您的速率限制。我将为您提供一些示例,以便您在我们接受此更改之前对您的代码进行更改。
他们于2014年3月5日开始执行此新限制。