我想知道当用户单击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调用被执行。有任何想法吗?谢谢
最佳答案
基本上,您需要将ajax调用放入facebook回调函数中...响应将包含有关与谁共享应用程序的详细信息。 “收件人”数组将为您提供被邀请者的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) {
}
});
}
});
}