2009-07-14 7 views
1

권한과 선택적 콜백 함수를 허용하는 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'});}  
     }); 
     });"); 

허용 된 값을 제대로 읽지 못하는 이유를 잘 모릅니다. 도와 주셔서 감사합니다.

console.log(accepted) 

을 그리고 다시 얻고 무엇을 참조하십시오

답변

3

나의 첫 번째 추측은 자바 스크립트 null 값이 실제로 반환되지 않고 다른 거짓 값이 대신 반환된다는 것입니다.

나는 모든 거짓과 같은 값을 테스트하려면이로 변경하려고 할 것 :

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

터무니. 그래도 페이스 북의 문서에 대해 뭔가 말합니다 : P –

+0

그래, 그 문서를 체크 아웃. 너무 좋았어요. – Triptych

1

불을 지르고 함께 마십시오. 귀하의 논리에 따라 아직 정의되지 않은 수 있습니다.

1

은 어쩌면 당신은 주위에 당신의 논리를 변경해야합니다 : 큰 일

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');} 
     }); 
     }); 
    ");