我想知道当用户点击fb ui邀请上的发送请求按钮时,我应该在哪里拨打我的ajax电话。目前,我把它放在fb ui语法之后:
function sendRequest(gFriendID, gFriendName) {
FB.ui({
method: 'apprequests',
title: 'Check out LoyaltyNmore!',
to: gFriendID,
message: 'Hi ' + gFriendName + ' join me in earning loyalty points!',
}, fbCallback);
$.ajax({
type: "POST",
url: "/home/StoreInvite?userId=" + gFriendID,
success: function (data) {
},
error: function (err) {
}
})
}
}
但正如所料。当应用程序打开请求UI时,会执行ajax调用。我希望在用户点击发送请求之后立即执行ajax调用,而不是在请求UI显示时执行。单击取消时也是如此。我不希望我的ajax调用被执行。有任何想法吗?感谢
答案 0 :(得分:2)
你基本上需要将你的ajax调用放在facebook回调函数中......响应将包含有关应用程序共享对象的详细信息。 'to'数组将为您提供被邀请者的ID。
function sendRequest(gFriendID, gFriendName) {
FB.ui({
method: 'apprequests',
title: 'Check out LoyaltyNmore!',
to: gFriendID,
message: 'Hi ' + gFriendName + ' join me in earning loyalty points!',
}, function(response)
{
if(response.to.length)
{
$.ajax({
type: "POST",
url: "/home/StoreInvite?userId=" + gFriendID,
success: function (data) {
},
error: function (err) {
}
});
}
});
}