在facebook用户发送邀请请求后调用ajax调用

时间:2013-12-14 15:21:15

标签: javascript jquery ajax facebook facebook-graph-api

我想知道当用户点击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调用被执行。有任何想法吗?感谢

1 个答案:

答案 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) {

        }
      });
    }
  });
}