Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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/9/delphi/9.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
Facebook &引用;请求对话框“;单击“取消”或“关闭”按钮时请求回调_Facebook_Request_Friend_Invite - Fatal编程技术网

Facebook &引用;请求对话框“;单击“取消”或“关闭”按钮时请求回调

Facebook &引用;请求对话框“;单击“取消”或“关闭”按钮时请求回调,facebook,request,friend,invite,Facebook,Request,Friend,Invite,我是Facebook应用程序开发的新手,也是JavaScript和PHP编程的新手 我目前正在开发一个Facebook应用程序,但目前一直使用请求对话框窗口 当请求对话框出现时,我选择我想要的朋友,然后单击“发送请求”,执行requestCallback(响应),并按预期通知收到请求的朋友。但是,如果我单击“取消”或蓝色关闭按钮,requestCallback(响应)也会执行,但所选朋友不会收到有关请求的通知 这是我的密码: function requestCallback(response)

我是Facebook应用程序开发的新手,也是JavaScript和PHP编程的新手

我目前正在开发一个Facebook应用程序,但目前一直使用请求对话框窗口

当请求对话框出现时,我选择我想要的朋友,然后单击“发送请求”,执行requestCallback(响应),并按预期通知收到请求的朋友。但是,如果我单击“取消”或蓝色关闭按钮,requestCallback(响应)也会执行,但所选朋友不会收到有关请求的通知

这是我的密码:

function requestCallback(response)
{
    //console.log(response);
    location.href='step2.php';
}
因此,无论我单击“取消”还是“关闭”按钮,上面的脚本仍然会执行(移动到我指定的step2.php页面)

我想要的是,当用户单击“取消”按钮或“关闭模式窗口”按钮时,页面保持在同一页面

有人知道如何解决这个问题吗


谢谢

您只需检查Facebook响应对象中的内容,因为如果请求已发送或未发送,则内容将不同

比如:

function requestCallback(response)
{
    if(response && response.request_ids) {
         // Here, requests have been sent, facebook gives you the ids of all requests
         //console.log(response);
         location.href='step2.php';
    } else {
         // No requests sent, you can do what you want (like...nothing, and stay on the page).
    }
}
或者,如果您正在使用新结构(请求2.0高效):

查看响应对象的结构以确定您的条件。即使您点击关闭,也会触发回调,以便在用户退出对话框时能够注意到。由您来验证他是否发送了请求,并按照您的意愿行事!:)

还有一些重要的事情: Facebook几周前更新了他们的请求系统,在你的应用设置中提供了“请求2.0”。默认情况下,它是关闭的,但如果激活它,则向用户发送请求时,响应对象的结构将发生变化。所以你必须在回调中更新你的条件

这里解释了一切:

您只需检查Facebook响应对象中的内容,因为如果请求已发送或未发送,则内容将不同

比如:

function requestCallback(response)
{
    if(response && response.request_ids) {
         // Here, requests have been sent, facebook gives you the ids of all requests
         //console.log(response);
         location.href='step2.php';
    } else {
         // No requests sent, you can do what you want (like...nothing, and stay on the page).
    }
}
或者,如果您正在使用新结构(请求2.0高效):

查看响应对象的结构以确定您的条件。即使您点击关闭,也会触发回调,以便在用户退出对话框时能够注意到。由您来验证他是否发送了请求,并按照您的意愿行事!:)

还有一些重要的事情: Facebook几周前更新了他们的请求系统,在你的应用设置中提供了“请求2.0”。默认情况下,它是关闭的,但如果激活它,则向用户发送请求时,响应对象的结构将发生变化。所以你必须在回调中更新你的条件

这里解释了一切:

谢谢,完全忘了添加此部分,因为它位于链接中!:)谢谢大家,看起来我需要学习如何在if和else中编写javascript:)谢谢,完全忘了添加这个部分,因为它在链接中谢谢大家,看来我需要学习如何在if和else中编写javascript:)