Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在facebook用户发送邀请请求后调用ajax调用_Javascript_Jquery_Ajax_Facebook_Facebook Graph Api - Fatal编程技术网

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

Javascript 在facebook用户发送邀请请求后调用ajax调用,javascript,jquery,ajax,facebook,facebook-graph-api,Javascript,Jquery,Ajax,Facebook,Facebook Graph Api,我想知道当用户单击FBUIinvite上的SendRequest按钮时,我应该把ajax调用放在哪里。目前,我把它放在fb ui语法之后: function sendRequest(gFriendID, gFriendName) { FB.ui({ method: 'apprequests', title: 'Check out LoyaltyNmore!', to: gFriendID, message: 'Hi ' +

我想知道当用户单击FBUIinvite上的SendRequest按钮时,我应该把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) {

        }
    })
}
}

但正如所料。ajax调用在应用程序打开请求UI时执行。我希望ajax调用在用户单击SendRequest后立即执行,而不是在请求UI显示时执行。单击“取消”时也是如此。我不想执行我的ajax调用。有什么想法吗?谢谢

您基本上需要将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) {

        }
      });
    }
  });
}

非常感谢你。我真的很想知道回电话是怎么回事。但是当我检查浏览器控制台时。我看到一些细节被显示和播放。回调总是为了这个目的。回调是指在完成与之相关联的任何操作后调用/执行的操作。让它用于FBAPI或JQuery等。