我不断收到错误firebase.database不是一个函数

时间:2019-07-02 15:18:01

标签: javascript firebase firebase-realtime-database contact-form

我正在尝试将投资组合网站中的联系表单链接到firebase,并在控制台中继续获取(firebase.database不是函数)

这是用于网络的,使用纯JavaScript

var firebaseConfig = {
  apiKey: "AIzaSyCzX3r8CFw84WSBuCSXR1fWM_hDrwtGMSs",
  authDomain: "portfolio-4c243.firebaseapp.com",
  databaseURL: "https://portfolio-4c243.firebaseio.com",
  projectId: "portfolio-4c243",
  storageBucket: "",
  messagingSenderId: "745737502175",
  appId: "1:745737502175:web:a26e5b0baa3769c9"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);


var messagesRef = firebase.database().ref('messages');


document.getElementById('contactForm').addEventListener('submit', submitForm);

function submitForm(e) {
  e.preventDefault();

  var name = getInputVal('name');
  var email = getInputVal('email');
  var message = getInputVal('message');

  saveMessage(name, email, message);


}

// Function get value
function getInputVal(id) {
  return document.getElementById(id).value;
}

//Save
function saveMessage(name, email, message) {
  var newMessageRef = messagesRef.push();
  newMessageRef.set({
    name: name,
    email: email,
    message: message
  })
}

1 个答案:

答案 0 :(得分:1)

此错误非常常见,并且由于您没有正确配置config对象或缺少使用该特定功能所需的脚本标签而引起。 就您而言,config对象看起来不错,因此您必须在页面中添加此脚本

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

但是请注意,该脚本仅在Firebase应用程序的核心脚本之后添加

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

,将来,如果您想使用 Firebase 之类的其他任何服务,例如 Firestore ,只需确保您具有该特定的脚本标记({ {1}}对象已正确设置)。