将值更新为Firebase

时间:2019-06-03 07:07:10

标签: html firebase firebase-realtime-database

Firebase实时数据库中的值未更新。我是Web开发的新手,但我了解一点html。您能在这里检查什么问题吗? 对于这个问题,我故意将Firebase Config留空。 我尝试使用Firebase文档中提供的大多数代码。

<!DOCTYPE html>
<html>


<head>
<title>"Web App"</title>
</head>
<body>

<div class="mainDiv" align="left">
  <h1 align="left">"Firebase web page"</h1>
  <textarea id="Command" placeholder="ON/OFF" stClyle="text align:left; overflow:auto; border:6px outset #000000;"></textarea>
  <button id="Submit" onclick="submitclick()">Click Me!</button>
</div>

<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/6.1.0/firebase-app.js"></script>

<!-- TODO: Add SDKs for Firebase products that you want to use
 https://firebase.google.com/docs/web/setup#config-web-app -->

<script>
// Your web app's Firebase configuration
var firebaseConfig = {

apiKey: "___________________________",
authDomain: "_________.firebaseapp.com",
databaseURL: "https://___________.firebaseio.com",
projectId: "________",
storageBucket: "_________.appspot.com",
messagingSenderId: "________",
appId: "_____________"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);

var mainTxt= document.getElementById("Command"); 
var submitbtn = document.getElementById("Submit");
function submitclick()
{

var com = mainTxt.value;
firebase.database().ref().child("username").set(com);
}
</script>

</body>

</html>

2 个答案:

答案 0 :(得分:2)

查看有关如何将Firebase添加到Web / JavaScript项目的文档:https://firebase.google.com/docs/web/setup

这样做

<script src="https://www.gstatic.com/firebasejs/6.1.0/firebase-app.js"></script>

您要添加Firebase 核心库,但这还不够。您必须添加要使用的服务的库,在这种情况下,您需要添加实时数据库。

因此您需要做

<script src="https://www.gstatic.com/firebasejs/6.1.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.1.0/firebase-database.js"></script>

请注意以下行

<!-- TODO: Add SDKs for Firebase products that you want to use

以您自己的代码显示:它准确地说明了上面的内容。

答案 1 :(得分:1)

首先要使用Firebase,您必须包括

<script src="https://www.gstatic.com/firebasejs/6.1.0/firebase-firestore.js"></script>

它仍然无法工作,因为这不是您写入Firebase的方式。您编写为键值对。尝试

firebase.database().collection("userNames").add({name : "user_name"});

或者如果您尝试更新文档

firebase.database().ref().child("userName").set({name : "user_name"});

这是官方文档:Add and Manage Data

在主题上,调用 .set() .add()可能并不总是使用 then()来编写必须检查的数据 strong>和 catch()

因此在firebase中更新文档值的完整示例将是:

// Add a new document in collection "cities"
db.collection("users").doc("userName").set({
    name: "USER_NAME"
})
.then(function() {
    console.log("Document successfully written!");
})
.catch(function(error) {
    console.error("Error writing document: ", error);
});