2017-05-07 54 views
0

如何將變量userID移出其範圍(一旦它從ajax POST調用返回),因爲我需要它的下面的值(在GET請求中)?我應該使用回調嗎?如何將變量移出範圍?

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成功?

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

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

我的男人!哈哈謝謝 – huzal12