Неперехваченная ошибка: ошибка Reference.set: первый аргумент содержит неопределенное значение в свойстве ‘Users.ji8A7TkSldfdvieDqGxko9eV3Jy1.gender’

#javascript #firebase #firebase-realtime-database

#javascript #firebase #firebase-realtime-database

Вопрос:

Я смотрел 10. Веб-учебник Firebase 2019 — Добавление данных в базу данных Firebase — Руководство по настройке учетной записи 09 на YouTube Я следил за каждым шагом, как и он, но это не помогло?

 // Checking t0 update info
$("#btn-update").click(function(){
  var fName = $("#fname").val();
    var sName = $("#sname").val();
    var uName = $("#uname").val();
    var country = $("#country").val();
    var phone = $("#phone").val();
    var gender = $("#gender").val();
    
    var rootRef = firebase.database().ref().child("Users");
    var userID = firebase.auth().currentUser.uid;
    var usersRef = rootRef.child(userID);
    
    if(fName != "" amp;amp; sName != "" amp;amp; uName != "" amp;amp; country != "" amp;amp; phone != "" amp;amp; gender != ""){
        var userData = {
            "firstName": fName,
            "secoundName": sName,
            "userName": uName,
            "country": country,
            "phone": phone,
            "gender": gender,
        };
        
        usersRef.set(userData, function(){
            if(error){
                 var errorCode = error.code;
        var errorMassage = error.message;

        console.log(errorCode);
        onsole.log(errorMassage);
  
        window.alert("Message : "   errorMassage);
        
            }else{
        window.location.href="post.html";   
            }
        });
    }else{
        window.alert("Form is incomplete.! Please fill out all field.");
    }
});
  

Комментарии:

1. Вы должны поделиться некоторыми сообщениями об ошибках здесь, чтобы люди могли вам помочь. Что именно не сработало?

2. Ошибка была «Неперехваченная ошибка: ошибка Reference.set: первый аргумент содержит неопределенное значение в свойстве ‘Users.ji8A7TkSldfdvieDqGxko9eV3Jy1.gender’ »

Ответ №1:

Хорошо, я отвечу на основе вашего комментария: «Ошибка была «Неперехваченная ошибка: ошибка Reference.set: первый аргумент содержит неопределенное значение в свойстве ‘Users.ji8A7TkSldfdvieDqGxko9eV3Jy1.gender’ «

Эта ошибка возникает из-за того, что firebase не принимает никаких значений как «неопределенных». В вашем случае вы получаете undefined в поле «пол». Вы должны каким-то образом проверить свои данные, прежде чем отправлять их в firebase. Например, вы могли бы сделать это:

 var userData = {
    "firstName": fName||'',
    "secoundName": sName||'',
    "userName": uName||'',
    "country": country||'',
    "phone": phone||'',
    "gender": gender||'',
};
  

Или вы можете проверить свои данные каким-либо другим способом перед отправкой.