2016-07-21 8 views
-4

私は、フォームを送信することなく、サーブレット・javascriptの変数を渡すことはできません

function gameLogin() { 
 
var usernameToPass; 
 
console.log('Fetching information from facebool.... '); 
 
FB.api('/me', function (response) { 
 
    console.log('Successful login for: ' + response.name); 
 
    document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.name + '!'; 
 
    //pass user name to Servlet 
 
    usernameToPass = response.name; 
 
    pass(usernameToPass); 
 
}); 
 
} 
 

 
function pass(name) { 
 
      $.ajax({ 
 
       url: 'GameManagerServlet', 
 
       data: { 
 
        username: name 
 
       }, 
 
       type: 'GET', 
 
       success: function (name) { 
 
        console.log(name); 
 
       } 
 
      }); 
 
     }

ので基本的に私はFacebookのログインAPIを使用して、私のjspでこのスクリプトは、ユーザ名、変数に格納され、合格しようとして持っています私のサーブレットは、ページがロードされたときにユーザー名を受け取る必要があるため、私はサーブレットに別の関数を使っています。私はajaxのような方法で試しましたが、サーバー側ではrequest.getParameter( "username")を使用します。いつもヌルになってしまった。この問題を解決する手助けをしてもらえますか?どうもありがとう!

+0

使用ajax ........! – Jai

答えて

0

以下のようなコールバック関数を使用してください。

var usernameToPass; 
function gameLogin() { 
console.log('Fetching information from facebool.... '); 
FB.api('/me', function (response) { 
    console.log('Successful login for: ' + response.name); 
    document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.name + '!'; 
    //pass user name to Servlet 
    usernameToPass = response.name; 
    pass(callback){ 
     callback(usernameToPass); 

    }; 
} 

    function pass(function(name) { 
       $.ajax({ 
        url: 'GameManagerServlet', 
        data: { 
         username: name 
        }, 
        type: 'GET', 
        success: function (successname) { 
         console.log(successname); 


        } 
       }); 
      }) 
関連する問題