2012-05-14 7 views
6

Hey friends私はjavascript sdkを使用してjQuery facebookのマルチフレンドセレクタを使ってユーザーの壁に投稿していますが、このエラーが発生していますfriendId.splitは関数ではありません。ここに私のコードは、アラートボックスでJavascript splitは関数ではありません

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'); 
     }); 
    } 
} 

である私は、カンマ区切りの友人を得たので、私は

+6

friendId'が文字列ではなく配列でない 'ので、おそらくこれがあります。 – VisioN

+7

'console.dir(friendId)'や 'console.log(typeof friendId)'とは何ですか? 'alert'はあなたが選択できる可能性のあるデバッグ方法が悪いです。 –

+2

console.log(typeof(friendId))はオブジェクト –

答えて

2

は、あなたは、この代替

を助け、この

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

希望のようなJSオブジェクトを横断できる

for(var x in friendId) 
{ 
    alert(friendId[x]); // this would be your desired value 
} 
+0

ありがとうございました.... –

7

おそらくfriendIDが既にある私を助けてください別々に私はここでいただきました!間違って知らない各ユーザーの壁にスプリット機能のポストを使用して、IDSアレイ。 alertを呼び出すと、配列は文字列に変換され、カンマ区切りの値リストになります。

文字列に配列を変換すると、(彼らは文字列をしているときにも、要素の周りに括弧や二重引用符を取得) JSON.stringifyを呼び出すことと同じではないこと

注意

4

のJavaScript split()関数は、string型IE用ですたとえば。

var friendid='1,34,67'; 

VisioNによれば、配列に警告すると、コンマ区切りの値が得られます。

+0

今後、あなたの投稿を書いたり、書式を設定するのにもっと時間を費やしてください。ヘルプの書式設定はこちら[here](http://stackoverflow.com/editing-help) – Matt

関連する問題