0

我有一个 for 循环,它将一系列 facebook id 和帖子发布到他们的墙上,但由于某种原因,它发布了正确的次数......但都发布到了最后一个 id 的墙上。

如果我在循环中提醒 id,它们是不同的,这就是为什么我对这种行为感到困惑,所以我想知道是否有人能看到任何错误?

JS

for(var z=0; z<friendList.length; z++) {
    friendID = friendList[z];
    alert(friendID); // this is unique!

    FB.api('/' + friendID + '/feed', 'post', options, function(response)
    {
        // post stuff
    }
}
4

2 回答 2

1

您是否在 for 循环之外定义了friendID var?

您的代码也缺少右括号。

我会以这种方式重新定义循环并再次测试:

var friendID; // friendID declaration.
for (var z = 0, len = friendList.length; z < len; z++) {
    friendID = friendList[z];
    alert(friendID); // this is unique!

    FB.api('/' + friendID + '/feed', 'post', options, function(response) {
        // post stuff
    }); // missing closing parenthesis.
}

希望这可以帮助!

于 2012-10-11T16:05:03.880 回答
0

设法解决它只是稍微重新构建我的代码。

var friendID;

for(var z=0; z<friendList.length; z++) {
    friendID = friendList[z];

    // this is in the success function of an ajax request previously but I removed it from there
    FB.api('/' + friendID + '/feed', 'post', options, function(response)
    {
        if (!response || response.error)
        {
            alert('There was an error posting to your friend\'s wall, please refresh the page and try again');
        }
        else
        {
            // alert('Success - Post ID: ' + response.id);
        }
    });
 } // end for

 // update div with html (this was previously in the else above
于 2012-10-12T09:51:50.267 回答