javascript - 尝试将数据写入控制台时 Firebase 抛出错误
问题描述
我正在为 firebase 做一个演示,并希望向我们的数据库添加一个用户 + 向我们的数据库添加一个包含更多用户信息的部分。该数据库目前没有安全规则,因为它是一个演示并且不存储任何重要信息。每当我点击网页上的提交按钮时,我都会收到此错误:
FIREBASE 致命错误:
无法确定 Firebase 数据库网址。调用 firebase.initializeApp() 时务必包含 databaseURL 选项。
HTML(在正文标签中):
<div>
<h1>SIGNUP ///(88w88)\\\</h1>
<input id = "emailS">EMAIL</input>
<input id = "passwordS">PASSWORD</input>
<input id = "name">NAME</input>
<input id = "phone">PHONE</input>
<input id = "color">FAVORITE COLOR</input>
<button id = "submit" onclick = "submitSignUp()">SUBMIT</button>
</div>
<script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.8.1/firebase.js"></script>
<script>
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "AIzaSyAOw4BCZhBpKQ1HTaqRXbzj7kFFzviL61Q",
authDomain: "fir-demo-ca0f5.firebaseapp.com",
projectId: "fir-demo-ca0f5",
storageBucket: "fir-demo-ca0f5.appspot.com",
messagingSenderId: "390968592171",
appId: "1:390968592171:web:b5856c31026ac491b4e76e"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
</script>
<script src = "FirebaseDemoB.js"></script>
JS: - 应该发生的是注册用户,我们将全局变量设置为 true 说明用户注册。一旦他们登录,使用 onStateChanged,我们检查他们是否注册(未登录)并从表单中获取信息并将其写入数据库。在实践中,我得到了上面提到的错误
var signedUp = false;
function submitSignUp()
{
console.log("FIREBASE");
var email2 = document.getElementById("emailS").value;
var password = document.getElementById("passwordS").value;
console.log(email2 + " " + password);
firebase.auth().createUserWithEmailAndPassword(email2, password)
.then((userCredential) => {
// Signed in
user = userCredential.user;
signedUp = true;
// ...
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
// ..
});
}
function writeUserData(userId, name, phone, color)
{
firebase.database().ref('users/' + userId).set({
name: name,
phone: phone,
color : color
});
}
firebase.auth().onAuthStateChanged((user) => {
if (user) {
if(signedUp)
{
var name = document.getElementById("name").value;
var phone = document.getElementById("phone").value;
var color = document.getElementById("color").value;
writeUserData(user.uid, name, phone, color);
}
// ...
} else {
console.log("HELLOTHERE");
}
});
解决方案
您的代码中的配置片段不包含databaseURL
属性,如果您想使用 Firebase 实时数据库,则需要该属性。
这很可能是因为您在创建数据库之前复制了配置片段。您只需从 Firebase 控制台复制更新的配置片段,并将其添加到您的代码中即可解决问题。
推荐阅读
- c++ - 静态包含 openssl/libcrypto
- html - 滚动时固定标题 - 使用 CSS 网格
- python - 如何在 RNN 模型中使用输入
- python - python 替换 curl --proxy-insecure
- vim - Vim 的弹出菜单自动完成功能无法正常工作
- command - 如何在玩家死亡时产生小怪
- python - 合并两个 3d 对象时删除内部信息
- java - 如何在 Java Spark 中转换嵌套结构(不支持的 NullType)
- java - 仅当不在单词内时才从字符串中删除特殊字符
- go - Getting bind: address already in use even after closing the connection in golang