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 回答