2012-05-14 8 views
6

Hej przyjaciele używam javascript sdk do umieszczania na ścianie znajomych użytkowników z jQuery facebook selektor wielu znajomych jednak otrzymuję ten błąd friendId.split nie jest funkcją. Oto mój kodRozdzielenie Javascript nie jest funkcją

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

W polu alertu Dostałem przecinek oddzielone przyjaciel IDS więc używam podziału funkcji post na każdej ścianie użytkowników osobno i nie wiem co jest nie tak tutaj pomóż mi

+6

Najprawdopodobniej jest to spowodowane 'friendId' nie jest ciągiem ale tablicą. – VisioN

+7

Co to jest "console.dir (friendId)" lub "console.log (typeof friendId)"? 'alert' to najgorsza metoda debugowania, jaką można wybrać. –

+2

console.log (typeof (friendId)) zwraca obiekt –

Odpowiedz

2

można przemierzać JS obiektów jak ten

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

nadzieję, że to pomaga

alternatywny

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

thanx to działa .... –

7

Najprawdopodobniej friendID jest już szyk. Jeśli wywołasz alert, tablica jest konwertowana na ciąg znaków i staje się listą wartości oddzielonych przecinkami.

Zauważ, że konwersja tablicę na ciąg nie jest taka sama jak wywołanie JSON.stringify (gdzie można uzyskać także wsporników i elementów w cudzysłowie, gdy są ciągi)

4

Funkcja JavaScript split() jest dla łańcucha typu tj na przykład

var friendid='1,34,67'; 

Jak mówi VisioN, po powiadomieniu tablicy otrzymasz wartości rozdzielone przecinkami.

+0

W przyszłości poświęć więcej czasu na pisanie lub formatowanie swojego posta. Formatowanie pomocy można znaleźć [tutaj] (http://stackoverflow.com/editing-help) – Matt