Impossible de transmettre un formulaire de réponse de Facebook à une autre fonction

Si vous regardez cette question, je vous remercie à l'avance !, je travaille à tirer des données de Facebook.

J'essaie d'extraire le nom d'utilisateur de Facebook afin que je puisse l'utiliser dans une étape ultérieure. J'ai incorporé le code suivant dans la division FB Root.

Je sais que les travaux de récupération! Mais je ne suis pas capable de le transmettre à la fonction returndata Je suis relativement nouveau sur javascript pourriez-vous m'avoir aidé? J'ai essayé tout

Il y a une alerte pour vérifier si elle récupère des données

 <div id="fb-root"></div> <script type="text/javascript"> $(document).ready(function() { var appId = "121070974711874"; // If logging in as a Facebook canvas application use this URL. var redirectUrl = "http://apps.facebook.com/bggressive"; // If logging in as a website do this. Be sure to add the host to your application's App Domain list. var redirectUrl = window.location.href; // If the user did not grant the app authorization go ahead and tell them that. Stop code execution. if (0 <= window.location.href.indexOf ("error_reason")) { $(document.body).append ("<p>Authorization denied!</p>"); return; } // When the Facebook SDK script has finished loading init the // SDK and then get the login status of the user. The status is // reported in the handler. window.fbAsyncInit = function() { FB.init({ appId : appId, status : true, cookie : true, oauth : true }); FB.getLoginStatus (onCheckLoginStatus); }; (function(d) { var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; d.getElementsByTagName('head')[0].appendChild(js); }(document)); function onCheckLoginStatus (response) { if (response.status != "connected") { top.location.href = "https://www.facebook.com/dialog/oauth?client_id=" + appId + "&redirect_uri=" + encodeURIComponent (redirectUrl) + "&scope=user_photos,friends_photos"; } else { FB.api('/me', function(response) { PASON = response.username alert(response.username) }); } } }); function returndata() { get = PASON return get }; </script> 

Je pense que vous appelez la fonction returndata() à n'importe quel point aléatoire que vous ne pouvez pas faire. La raison en est: la variable PASON est assignée de manière asynchrone. Donc, vous devez coder de telle sorte que vous appelez returndata() après que la valeur a été attribuée!

Ce n'est pas tout à fait clair ce que vous essayez de faire avec la fonction returndata() . Mais, j'espère que votre concept est clair maintenant.