6

こんにちは、私はjavascript sdkを使用して、jQuery facebookマルチフレンドセレクターを使用してユーザーのフレンドウォールに投稿していますが、このエラーfriendId.split is not a functionが発生しています。これが私のコードです

function recommendToFriend(pic, url, friendId, fromName)
{
    alert(friendId);
    var friendList ;
    pFriend = new Array();
    pFriend = friendId.split(',');
    for( x in pFriend )
    {
        alert(pFriend[x]);
        var publish = {
            method:'feed',
            picture:pic,
            link:url,
            name:'SHARP Product Recommend',
            caption: fromName + 'has recommend a product to you via Sharp Expert lounge',
        };

        FB.api('/'+pFriend[x]+'/feed', 'post', publish, function(resp) {
            if( !response || response.error )
                alert('Unable to share');
            else
                alert('Successfully posted to firends wall');
        });
    }
}

アラート ボックスにコンマ区切りのフレンド ID が表示されているので、分割機能を使用して各ユーザー ウォールに個別に投稿します。何が問題なのかわかりません。助けてください。

4

3 に答える 3

7

ほとんどの場合、friendIDすでに配列になっています。を呼び出すとalert、配列は文字列に変換され、カンマ区切りの値のリストになります。

配列を文字列に変換することは、呼び出しと同じではないことに注意してくださいJSON.stringify(文字列の場合、要素を囲む括弧と二重引用符も取得します)。

于 2012-05-14T12:15:39.503 に答える
4

JavaScriptsplit()関数は、タイプ文字列用です。

var friendid='1,34,67';

VisioN が言うように、配列をアラートすると、カンマ区切りの値が得られます。

于 2012-05-14T12:23:59.830 に答える
2

このようにJSオブジェクトをトラバースできます

for (var key in friendid) {
   var obj = friendid[key];
   for (var prop in obj) {
      alert(prop + " = " + obj[prop]);
   }
}

お役に立てれば

代わりの

for( var x in friendId )
 {
  alert(friendId[x]); // this would be your desired value
 }
于 2012-05-14T12:37:37.363 に答える