好的,所以我知道Javascript并且已经为Facebook拼凑了一个小应用程序。问题出在我的JS和facebook api之间。
我使用标准库用一个用户朋友列表填充数组并显示它们以供选择。
function renderMFS() {
// First get the list of friends for this user with the Graph API
FB.api('/me/friends', function(response) {
var container = document.getElementById('mfs');
var mfsForm = document.createElement('form');
mfsForm.id = 'mfsForm';
// Iterate through the array of friends object and create a checkbox for each one.
for (var i = 0; i < Math.min(response.data.length, 1000); i++) {
var friendItem = document.createElement('div');
friendItem.id = 'friend_' + response.data[i].id;
friendItem.innerHTML = '<input type="radio" onclick="sendSlap(this)" name="friends" value="' + response.data[i].id + '" />' + response.data[i].name;
mfsForm.appendChild(friendItem);
}
container.appendChild(mfsForm);
});
}
然后我使用自己的函数发布了两条Feed消息。
function sendSlap(cb) {
FB.ui({
method : 'feed',
link: 'https://apps.facebook.com/537130286376086',
to : cb.value,
description : 'You have been bitch slapped by a friend',
actions: [
{'name': 'Slap Back', 'link': 'https://apps.facebook.com/537130286376086'}
],
}, function(response) {
});
FB.ui({
method : 'feed',
link: 'https://apps.facebook.com/537130286376086',
description: "Someone just got bitch slapped",
actions: [
{'name': 'Slap Someone!', 'link': 'https://apps.facebook.com/537130286376086'}
],
}, function(response) {
});
}
所有这一切都很好。问题是当我试图将实际数据带入“帖子”时。我的第一种方法没有用,并且没有错误,它只是没有产生一个帖子。
description: "Someone just got bitch slapped" + cb.name,
如您所见,var“cb”带有来自呼叫的数据。 cb.value工作正常,它以同样的方式和我想要做的事情被调用。但是,我没有深入研究,而是迅速创建了一个单独的函数来提取我需要的信息。
FB.api(cb.value, function(response) {
var data1=response.name;
return data1;
}
我使用警报来检查cb.value是否正常通过,而且response.name是正确的,我检查了所有数据的拼写。然后我将data1拉回到帖子中并在帖子中得到“未定义”。我摆弄了这几种方式,它只是没有带回数据。第一种方法最有意义,但这里存在严重错误。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用原始电话,我解决了一半的问题。在第一个函数中,我将“名称”从“朋友”更改为response.data [i] .name。这使得从第一个函数中提取数据变得更容易。事实是该功能正在发送“div”及其所有信息。