繁体   English   中英

回调函数参数问题

[英]Callback function parameter issue

我正在为FB.Connect.showPermissionDialog()函数编写一个回调函数,该函数接受权限和一个可选的回调函数。

如果用户拒绝权限对话框,则应将其传递为null 但是由于某种原因,即使权限请求失败,我的脚本也总是发出发布请求。

echo("FB.ensureInit (  function () { 
        FB.Connect.showPermissionDialog('email,offline_access',
        function(accepted) {
             if(accepted==null) {alert('failure');} else {
             $.post(\"http://www.domain.com/permissions.php\",
                   { username:$userID,mode:'accepted'});}    
        });
        });"); 

不知道为什么它没有正确读取接受的值。 谢谢您的帮助。

我的第一个猜测是实际上未返回Javascript null值,而是返回了其他一些类似false的值。

我尝试更改为此值以测试所有类似false的值:

if (!accepted) {alert('failure')} else { 
...

使用萤火虫:

console.log(accepted)

看看你回来了。 可能是不确定的,根据您的逻辑仍然可以通过。

也许您应该更改逻辑:

echo("FB.ensureInit (  function () { 
        FB.Connect.showPermissionDialog('email,offline_access',
        function(accepted) {
             if(accepted !== null) {
             $.post(\"http://www.domain.com/permissions.php\",
                   { username:$userID,mode:'accepted'});}
             } else {alert('failure');}
        });
        });
   ");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM