Jump to content

ajax event


Pink-El

Recommended Posts

Hello,

I need create facebook login in my app.

I added fblogin.js to the custom files

When I use the following  code <fb:login-button scope="public_profile,email" onlogin="checkLoginState();"></fb:login-button><div id="status"></div>

On click event back me with a result to the java function  on the page

function testAPI(userID) {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
          ajaxRequest(MainmForm, 'fblogin', []);
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' + response.name+' ID '+userID +'!';
    });
}

I tried to generate ajax event but I`ve got error message Event:fblogin Object not found in session list

How to fix it?

 

fblogin.js

// JavaScript Document

  // This is called with the results from from FB.getLoginStatus().
  function statusChangeCallback(response) {
    console.log('statusChangeCallback');
    console.log(response);
    // The response object is returned with a status field that lets the
    // app know the current login status of the person.
    // Full docs on the response object can be found in the documentation
    // for FB.getLoginStatus().
    if (response.status === 'connected') {
      // Logged into your app and Facebook.
	  var uid = response.authResponse.userID;
	  //var uname = response.name;	  
	  // alert(uname);
	  // alert(uid);
      testAPI(uid);
    } else if (response.status === 'not_authorized') {
      // The person is logged into Facebook, but not your app.
      document.getElementById('status').innerHTML = 'Please log ' +
        'into this app.';
    } else {
      // The person is not logged into Facebook, so we're not sure if
      // they are logged into this app or not.
      document.getElementById('status').innerHTML = 'Please log ' +
        'into Facebook.';
    }
  }

  // This function is called when someone finishes with the Login
  // Button.  See the onlogin handler attached to it in the sample
  // code below.
  function checkLoginState() {
    FB.getLoginStatus(function(response) {
      statusChangeCallback(response);
    });
  }

  window.fbAsyncInit = function() {
  FB.init({
    appId      : '1558074717851346',
    cookie     : true,  // enable cookies to allow the server to access 
                        // the session
    xfbml      : true,  // parse social plugins on this page
    version    : 'v2.5' // use version 2.2
  });

  // Now that we've initialized the JavaScript SDK, we call 
  // FB.getLoginStatus().  This function gets the state of the
  // person visiting this page and can return one of three states to
  // the callback you provide.  They can be:
  //
  // 1. Logged into your app ('connected')
  // 2. Logged into Facebook, but not your app ('not_authorized')
  // 3. Not logged into Facebook and can't tell if they are logged into
  //    your app or not.
  //
  // These three cases are handled in the callback function.

  FB.getLoginStatus(function(response) {
    statusChangeCallback(response);
  });

  };

  // Load the SDK asynchronously
  (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  // Here we run a very simple test of the Graph API after login is
  // successful.  See statusChangeCallback() for when this call is made.
  function testAPI(userID) {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
       // if (response.id) {
       //     var facebook_userid = response.id;
       // }
          ajaxRequest(MainmForm, 'fblogin', []);
 	  //var uid = response.authResponse.userID;
	  //console.log('Successful login for: ' + response.name);
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' + response.name+' ID '+userID +'!';
    });
  }

Regards,

Dmytro

Link to comment
Share on other sites

Well, it`s good code but I can not to understand how implement third-party script with existing page. In my example some java script functions plugin to the page and I just need back some values. The simple way to generate ajax event with parameters and catch there on the server. As far as I can see the problem with first parameter of the ajax event. I need to get UserID and Username for the login.

Mainmform is unknow object. Window and document are ok but server part does not catch event. I am lost a little

Dmytro

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...