2017-05-07 4 views
0

変数のuserIDを 'scopeの外に移動するにはどうすればいいですか?(GET要求の下で)その値が必要なので、ajax POST呼び出しから返されます。私はコールバックを使うべきですか?変数を範囲外に移動するにはどうすればよいですか?

firebaseAUTH.signInWithEmailAndPassword(email, password).then(function (user) { 
console.log('user has signed in with e-mail address: '+user.email+' and user ID: '+user.uid) 
firebaseAUTH.currentUser.getToken(true).then(function(idToken) { 
// Send token to your backend via HTTPS (JWT) 
$.ajax(
    { 
     url: '/auth', 
     type: 'POST', 
     data: {token: idToken}, 
     success: function (response){ 
     var userID = response.userID 
     //set database ref, pull out info based on ID 
     }}) 
$.get(
    { 
     url: '/members-area/', 
     data: {userID: userID} 
    }) 
+0

変数*は正しいスコープにあります。あなたがしようとしているのは、将来の価値を現在に移すことです。これは不可能です。 – Bergi

+0

@Bergi実際には、私は宣言された次の関数でその変数にアクセスしようとしています。 – huzal12

+0

ああ、変数はローカルなので正しいスコープではありませんでした。しかし、それにアクセスしようとする次の関数呼び出し( '$ .get')は、応答が返るのを待つことなく、' $ .ajax'要求が開始された直後に発生します。 – Bergi

答えて

3

移動が成功するにはどうすればよいですか?

$.ajax({ 
    url: '/auth', 
    type: 'POST', 
    data: { 
     token: idToken 
    }, 
    success: function (response) { 
     var userID = response.userID 

     $.get({ 
      url: '/members-area/', 
      data: { 
       userID: userID 
      } 
     }) 
    } 
}) 
+0

私の男!ハハありがとう – huzal12

関連する問題