我有一点问题。我是JS的新手,我无法弄清楚。
我试图从Facebook获得一个朋友列表。要做到这一点,我使用用户帖子,我只想显示重复项。我的第一个答案是如何从循环中显示所有朋友并仅获取重复项(我只需要一个或两个对象),其次是如何将var从函数传递到另一个函数,因为我想将所有信息POST到一个php文件。
这就是我所做的:
function getInfo() {
FB.api(
'/me',
'GET',
{fields: 'first_name'},
function(response) {
friends();
var myname = response.first_name;
$.post(
"file.php",
{ myname:myname,friendsname:friendsname },
function(data) { $("body").append(data); }
);
}
通过这个功能,我得到了我的名字。
function friends() {
FB.api(
'/me/posts?fields=likes{id,name}',
{limit:50},
function(response) {
if (response.data) {
$.each(response.data,function(index, posts) {
var posturi = posts.likes;
$.each(posturi.data, function(useri, lista) {
var friendsname = lista.name;
});
});
}
}
);
}
这是我朋友的名单。如果我检查console.log(friendsname)
它会给我所有重复的朋友。但如果我在innerHTML
中写$.each
,它只返回一个对象。如何将friendsname
从friends()
传递到getInfo()
,以便发布到.php文件中?
答案 0 :(得分:0)
那是因为你在innerHTML
的每个循环中都覆盖了$.each
的值。
试试这个:
var posturi = posts.likes;
var names = posturi.data.map(function(item) { return item.name; }).join(', ');
names
将包含以逗号分隔的名称列表。