对于JQuery和Ajax中的循环问题

时间:2014-06-05 05:30:46

标签: jquery ajax json loops jsonp

我的问题是它没有在循环中获取所有页面数据,就像我运行脚本一次循环一次然后它给出所有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!');
            }  
        }); 
     }

 } 
  • 列表项

1 个答案:

答案 0 :(得分:1)

我做了一些研究,并在their website上找到了这个。

  

新系统将在所有8个实例中共享IP地址的状态,并提供适当的平衡速率限制。速率限制本身保持不变(10秒范围内最多30个请求)。关键的区别在于您的请求期间的响应处理以及您的速率限制。我将为您提供一些示例,以便您在我们接受此更改之前对您的代码进行更改。

他们于2014年3月5日开始执行此新限制。