[英]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.