使用Javascript向Firebase添加数据的最简单方法

时间:2017-08-16 16:45:08

标签: javascript firebase firebase-realtime-database

我查看过以前的帖子以及文档和其他资源,但是当单击按钮时,我无法说明如何在firebase数据库中添加条目。该按钮调用writeNewPost()。这是我试过的

<button type="submit" class="btn btn-light" onclick="writeNewPost()">Submit</button>
<script src="https://www.gstatic.com/firebasejs/4.2.0/firebase.js"></script>

<script>
  var config = {
    apiKey: MYAPIKEY,
    authDomain: MYDOMAIN,
    databaseURL: MYURL,
    projectId: MYPROJECT,
    storageBucket: STORAGEBUCKET,
    messagingSenderId: SENDERID
  };
  firebase.initializeApp(config);
</script>

<script>
    function writeNewPost() {
      var postData = {
        "Name": "Brett"
      };

     var newPostKey = firebase.database().ref().push().key;

     var updates = {};
     updates['/' + newPostKey] = postData;

     return firebase.database().ref().update(updates);
   }
</script>

我想要的只是拥有&#34;姓名&#34;:&#34; Brett&#34;在根下。

1 个答案:

答案 0 :(得分:2)

你的代码看起来很不错。为了让您与Firebase进行简单的沟通,首先需要设置一些规则 https://firebase.google.com/docs/database/security/quickstart

P.S:使用了您的代码,将规则添加到Database → Rules(Tab)并且它有效。

  

<强>声明 !!仅在有限的测试时间段内使用以下内容 - 因为它向公众开放数据库 - 并且始终读取可能出现在面板中的警告!

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

来自docs

  

在启动应用程序之前,必须正确配置这些规则,以确保用户只能访问他们应该访问的数据。

您展示代码的方式 - 内联onclick=指向代码中仅定义以后的函数 - 因此您将面临{{{ 1}}。

将JS放在一个地方的更好方法 移除内联undefined并添加onclick

之类的ID选择器
id="submitPost"

在脚本内部使用:

<button id="submitPost" type="submit" class="btn btn-light">Submit</button>