2012-05-14 13 views
6

Hola amigos estoy usando javascript SDK para publicar en usuarios amigos de la pared con jQuery facebook multi amigo selector sin embargo estoy recibiendo este error friendId.split no es una función. Aquí está mi códigoJavascript dividir no es una función

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

En cuadro de alerta que conseguí coma separados amigo IDS, así que uso posterior función de división en cada pared usuarios por separado no sé cuál es incorrecto aquí, por favor me ayude

+6

más probable es que esto se debe a 'friendId' no es una cadena, pero una matriz. – VisioN

+7

¿Qué le dice 'console.dir (friendId)' o 'console.log (typeof friendId)'? 'alerta' es el peor método de depuración que podría haber elegido. –

+2

console.log (typeof (friendId)) devuelve el objeto –

Respuesta

2

se puede recorrer JS objetos como éste

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

Esperanza esto ayuda

alternativo

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

gracias ... –

7

Lo más probable es friendID es ya una formación. Si llama al alert, la matriz se convierte en una cadena y se convierte en una lista de valores separados por comas.

Tenga en cuenta que la conversión de un arreglo en una cadena no es lo mismo que llamar JSON.stringify (donde se obtiene también entre paréntesis y comillas dobles alrededor de los elementos cuando están cuerdas)

4

La función JavaScript split() es para el tipo string es decir, por ej.

var friendid='1,34,67'; 

Como dice VisioN, cuando alerta una matriz, obtiene valores separados por comas.

+0

En el futuro, dedique más tiempo a escribir o formatear su publicación. La ayuda de formateo se puede encontrar [aquí] (http://stackoverflow.com/editing-help) – Matt