Firebase未写入数据库

ryoqjall  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(120)

所以我的代码看起来可以正常工作,除了写入数据库的部分......它一直在加载,如果我再次按下它,它会给出错误400。它确实会创建用户!我到处找遍了,但似乎找不到答案

function register() {
            const name = document.getElementById("usernameinput").value;
            const email = document.getElementById("emailinput").value;
            const password = document.getElementById("passinput").value;

            createUserWithEmailAndPassword(auth, email, password)
                .then((userCredential) => {
                    // Signed in
                    const userid = userCredential.user;
                    console.log(user);

                    update(ref(database, 'users/' + userid), {
                      username: name,
                      email: email,
                      Alfa: true,
                      Amstel: true,
                      Bavaria: true,
                      Brand: true,
                      Budels: true,
                      Dommelsch: true,
                      Gulpener: true,
                      Heineken: true,
                      HertogJan: true,
                      Jupiler: true,
                      Lindeboom: true,
                      Grolsch: true,
                      Leffe: true,
                      Desperados: true,
                    });

这是我的表单代码:

<form class="register-form" id="registerform1">
            <img src="src/IMG/profile.png" alt="profile">
            <h1>Register</h1>
            <input type="text" id="usernameinput" name="createUsername" placeholder="Username">
            <input type="email" id="emailinput" value="" placeholder="example@example.com" name="createEmail">
            <input type="password" id="passinput" value="" placeholder="password" name="createPass">
            <button id="registerbutton" type="button">create</button>
            <p class="message">Already registered? <a onclick="gotologin()">Sign In</a></p>
        </form>
oxcyiej7

oxcyiej71#

修正了!!!!user.id应该是用户.uid!,所以正确的代码是:

const name = document.getElementById("usernameinput").value;
                const email = document.getElementById("emailinput").value;
                const password = document.getElementById("passinput").value;
    
                createUserWithEmailAndPassword(auth, email, password)
                    .then((userCredential) => {
                        // Signed in
                        const useruid = userCredential.user.uid;
                        console.log(user);
    
    
                        update(ref(database, 'users/' + useruid), {
                          username: name,
                          email: email,
                          Alfa: true,
                          Amstel: true,
                          Bavaria: true,
                          Brand: true,
                          Budels: true,
                          Dommelsch: true,
                          Gulpener: true,
                          Heineken: true,
                          HertogJan: true,
                          Jupiler: true,
                          Lindeboom: true,
                          Grolsch: true,
                          Leffe: true,
                          Desperados: true,
                        });```

相关问题