JavaScript Firebase数据库web Uncaught SyntaxError:没有任何理由的意外令牌

时间:2017-04-13 15:38:26

标签: javascript jquery firebase firebase-realtime-database firebase-authentication

首先,我想说我搜索了很多,但我没有找到错误的原因。

我正在使用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()是两个不同输入区域的结果。所以,一旦我点击一个按钮,我就会调用事件监听器,然后执行操作来编辑指定节点中的数据。

但是我收到错误“Uncaught SyntaxError:Unexpected token(”和行if($('#email').val().length > 8 ){,而且下一个是if($('#nome').val().length > 5 ){。 发生了什么? 这段代码有什么问题?请不要标记为重复!

2 个答案:

答案 0 :(得分:1)

您无法在对象声明(if)中使用{}语句。事先创建对象,然后将其传递给firebase的.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);
    };
}); 

答案 1 :(得分: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);
                      }
        })

创建一个对象&然后将其传递给set方法。