0

FacebookのIDの配列とウォールへの投稿を取得するforループがありますが、何らかの理由で正しい回数を投稿します...しかし、すべて最後の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 に答える