无法在 Glitch 上使用 Javascript 写入 Firebase 数据库

Posted

技术标签:

【中文标题】无法在 Glitch 上使用 Javascript 写入 Firebase 数据库【英文标题】:Cant write to Firebase Database with Javascript on Glitch 【发布时间】:2019-11-10 11:57:15 【问题描述】:

我正在尝试创建一个简单的应用程序以添加到 Firebase 数据库。

写入温度,然后将其与时间戳一起存储在数据库中。但由于某种原因,它不会工作。我尝试了多种不同的方法并检查了 Firebase 网站上的所有文档,但没有任何效果。任何帮助将不胜感激。谢谢

https://glitch.com/edit/#!/lcjs

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://www.gstatic.com/firebasejs/7.3.0/firebase-app.js"></script>
    <title>Write to firebase</title>
  </head>  
  <body>
    <h1>Current Tempature</h1>

    Tempature <input type="text" id="UserData"/>
    <input type="button" id="Submit" onclick="formSubmission()" value="Submit"/>

    <p id="done">
    </p>

    <script src="script.js"></script>
  </body>
</html>

脚本.JS

// Your web app's Firebase configuration
var firebaseConfig = 
    apiKey: "AIzaSyDvLIcv7nEIbfnz99mhoLi8UizaJcZxHLM",
    authDomain: "lcls-332a0.firebaseapp.com",
    databaseURL: "https://lcls-332a0.firebaseio.com",
    projectId: "lcls-332a0",
    storageBucket: "lcls-332a0.appspot.com",
    messagingSenderId: "604417688851",
    appId: "1:604417688851:web:63eb89e29b81cd1a8546e6",
    measurementId: "G-N2TVNX43T6"
  ;
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();

function formSubmission()
  document.getElementById("done").innerHTML = "Clicked";
  var today = new Date();
  var timestamp = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds() + " " + today.getDate() + "/" + today.getMonth() + "/" + today.getFullYear();

  var myDBConn = firebase.database().ref();
  document.getElementById("done").innerHTML = "Done";
  var TempBranch = myDBConn.child("MyTempatures");

  var currentTemp = document.getElementbyID("UserData");

  TempBranch.push( Tempature: parseInt[currentTemp.value], Time: timestamp );

  document.getElementById("done").innerHTML =
    "Your result has been successfully added!";

【问题讨论】:

我根据我在您的 Glitch 项目中看到的内容写了一个答案。在未来的问题中,请始终包括您得到的实际行为。 “它不起作用”比“我得到 'document.getElementbyName 不是一个函数'”更难提供帮助。 【参考方案1】:

当我运行您的 Glitch 项目并提交一个值时,我在 Chrome 的 javascript 控制台中看到此错误:

script.js:26 Uncaught TypeError: document.getElementbyName 不是函数

在表单提交 (script.js:26)

在 HTMLInputElement.onclick ((index):11)

没有方法document.getElementbyName。您可能打算使用document.getElementsByTagNamedocument.getElementById

您问题的代码中存在相同类型的错误方法名称,其中您有getElementbyID。你可能也指document.getElementById

密切注意拼写和大写/小写字母是个好主意,因为它们在您阅读代码时很容易被忽略,但它们会在工作代码和非工作代码之间产生巨大差异。

【讨论】:

以上是关于无法在 Glitch 上使用 Javascript 写入 Firebase 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Glitch 中使用 Python 中的环境变量

如何使用 Glitch 访问 .env 变量?

Roblox Glitch:Gear 仅在本地显示,不会显示给同一服务器上的其他玩家

带有firebase的JavaScript中的变量

nodejs 应用程序在本地运行良好会在 glitch.com 中出现错误

寡姐又火了,故障Glitch风格设计做一发