jQuery $ .each结合了AJAX请求 - 糟糕的做法?

时间:2011-08-10 20:59:40

标签: jquery ajax facebook-graph-api

我有这段代码:

$(document).ready(function() {
            var url = "https://graph.facebook.com/search?q=cinema&type=post";
            $.ajax({
               type: "POST",
               url: url,
               dataType: "jsonp",
               success: function(msg){
                 console.log( msg );
                 $.each( msg.data , function(i,obj){
                    $('#cinemas').append(obj.message + '<br />');

                 });
               }
             });
        });

我可以像这样访问邮件的海报ID:data.from.id。我当时想做的是通过AJAX请求运行人员FB ID并撤回他们的个人资料图片。

我想我会在现有的$ .each中运行另一个$ .each来通过AJAX请求运行每个ID。所以,1。这是一个不好的做法,让一个嵌套的$ .each运行几个AJAX请求,2。有人能想出更好的方法来实现我的场景吗?

由于

2 个答案:

答案 0 :(得分:1)

由于您将结果返回到对象中,并且您需要针对每个项目进行特定的操作,因此您需要一些遍历数据的方法。我自己通常使用标准for循环,但这只是偏好。

避免多个循环的唯一方法是在一次拉取中获取所需的所有数据,然后只需要一个循环。

答案 1 :(得分:0)

下一个$.each或任何类型的循环都不是一个坏习惯。作为建议,看看是否可以在单个请求中发送FB ID列表并获得响应。这样你就不需要每个人的内部$.each循环了。