0

首先,我想說我搜索了很多,但我沒有找到我的錯誤的原因。JavaScript Firebase數據庫網絡未捕獲SyntaxError:沒有理由的意外令牌

我正在使用firebase數據庫,我想編輯一個特定的孩子。 我做這樣在我的html頁面:

firebase.auth().onAuthStateChanged(function(user) { 
         if (user) { 
         var uid = user.uid; 

        const databases = firebase.database().ref().child('Utenti').child(uid).set({ 
          if($('#email').val().length > 8){ 
          email: $('#email').val(), //email dal text input email ecc.... 
          } 
          if($('#nome').val().length > 5){ 
          named : $('#nome').val(), 
          } 
        tipologia : 'Utente normale', 
        uid : user.uid 
        }); 


       }; 

     }); 

現在我$('#email').val()和我$('#nome').val()是兩個不同的輸入區域的結果。所以,一旦我點擊一個按鈕,我就會調用事件監聽器,然後執行操作來編輯指定節點中的數據。

,但我得到的錯誤「未捕獲的SyntaxError:意外的標記(」和該行是if($('#email').val().length > 8){和obiuously下一個是if($('#nome').val().length > 5){ 發生了什麼事 什麼不對這個代碼複製,請不要標記

。?!
+2

您不能在對象聲明中使用'if'語句('{}')。事先創建對象,然後將其傳遞給firebase的'.set()'函數。 這可能是個好消息:我很快就看不到代碼中的錯誤,因爲它很糟糕。盡力保證代碼的可讀性和可讀性,並且將來不會有太多問題。 –

+0

@JeffHuijsmans如果你把它寫成一個答案和一個如何做的樣本,這將使我們能夠很快解決這個問題。 –

+0

@FrankvanPuffelen就可以了! –

回答

0

使用此

firebase.auth().onAuthStateChanged(function(user) { 
         if (user) { 
         var uid = user.uid; 
        var obj={}; 
        if($('#email').val().length > 8){ 
         obj["email"]=$('#email').val(); 
        } 
        if($('#nome').val().length > 5){ 
         obj["named"]=$('#nome').val(); 
        } 
        obj["tipologia"]='Utente normale'; 
        obj["uid"]=user.uid; 
     const databases = firebase.database().ref().child('Utenti').child(uid).set(obj); 
         } 
     }) 

創建一個對象&然後通過它來設置方法。

+0

我得到這個錯誤:Firebase.set失敗:第一個參數包含未定義的屬性。這是什麼意思? –

+0

是user.uid underfined? –

+0

沒有它,當我只寫入其中一個輸入時發生。 –

1

中的對象({})的聲明中,您不能使用if聲明事先創建對象,然後通過它在火力的.set()功能

例:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
     var uid = user.uid; 

     var setObj = { 
      tipologia: 'Utente normale', 
      uid: user.uid 
     }; 

     if($('#email').val().length > 8) setObj.email = $('#email').val(); 
     if($('#nome').val().length > 5) setObj.named = $('#nome').val(); 

     const databases = firebase.database().ref().child('Utenti').child(uid).set(setObj); 
    }; 
}); 
相關問題