Jquery 日历中每个URL对Facebook评论的JSON调用计数

Jquery 日历中每个URL对Facebook评论的JSON调用计数,jquery,facebook,Jquery,Facebook,我有一个jQuery日历,每天都链接到一个动态页面,上面有Facebook评论插件。现在,我可以通过调用Facebook的API获得评论数,如下所示: $(".comm").each(function(){ var root = "https://graph.facebook.com/?ids="; var ids = "http://root.toUrl.com/"; var callback = "&callback=?";

我有一个jQuery日历,每天都链接到一个动态页面,上面有Facebook评论插件。现在,我可以通过调用Facebook的API获得评论数,如下所示:

    $(".comm").each(function(){
        var root = "https://graph.facebook.com/?ids=";
        var ids = "http://root.toUrl.com/";
        var callback = "&callback=?";
        var date = $(this).attr('href');
        var fecha = root + ids + date + callback;
        $.getJSON(fecha, function(data){
        for(comments_num in data){
        var user = data[comments_num];
        $('.iframecont').append(user.comments);
        console.log(user.comments);
}
});
});
Facebook允许您通过Graph API一次只获取一个URL的评论数。因此,对于包含30天的日历,您必须调用30个URL才能获得每个URL响应。例如,要检索2011年5月5日的评论数量,URL应为?。我每天都要打相应的电话,解码答案并将结果附加到day div中的p中

数据返回:

{ "http://example.com/": { "id": "http://example.com/", "shares": 72603, "comments": 14483 } } User.comments在本例中为14483

这段代码正确地检索了数据,但现在每天“.iframecont”都会在一行中显示所有json响应,如下所示:6221222222

如何将每个回复分发给相应的部门,以便在正确的日期分配正确数量的评论


提前感谢。

假设使用以下html

<div> <!-- div n-1 -->
<a href="someurl" class="comm">some text</a>
<p class="iframecont"></p>
</div>
<div> <!-- div n -->
<a href="someurl" class="comm">some text</a>
<p class="iframecont"></p>
</div>
<div> <!-- div n+1 -->
<a href="someurl" class="comm">some text</a>
<p class="iframecont"></p>
</div>

注意事项$这只是另一个javascript变量。我们在$前面加前缀,表示它实际上是一个jquery对象。这是正常的惯例。我们缓存对正在进行api调用的元素的引用。现在,当执行回调函数时,使用缓存的$that,我们会找到相应的段落标记。在我的示例中,将创建并相应地修改遍历

问题是user.comments将返回所有30个结果,并将它们全部附加到该ID。。。我需要一种方法来调用每个JSON对象并将结果附加到它的源调用方…您是说user.comments包含每天的注释数,并且它们之间没有空格、逗号或任何分隔符分隔吗?实际上,你能用变量数据和user.comments实际包含的内容等细节更新你的问题吗。这将帮助大家更好地理解您的问题。对不起,为了更好地解释,我对问题进行了一些更新。。。User.comments只包含一天的评论数,这是Facebook提供回复的方式:每次与URL相关的评论。。。
$(".comm").each(function(){
    var root = "https://graph.facebook.com/?ids=";
    var ids = "http://root.toUrl.com/";
    var callback = "&callback=?";
    var date = $(this).attr('href');

    // important. read http://bonsaiden.github.com/JavaScript-Garden/#function.this
    var $that = $(this);

    var fecha = root + ids + date + callback;

    $.getJSON(fecha, function(data){
        // why is this for loop needed?? 
        for(comments_num in data){
            var user = data[comments_num];
            console.log(user.comments);

            $that.parent().children("p.iframecont").append("num_of_comments");

            // OR you can use this
            // $that.siblings("p.iframecont").append("num_of_comments");
            // what to use will be decided by the exact structure of your html. 
            // check out http://api.jquery.com/category/traversing/
            // in my example, either method will work
        }
    });
});