我正在尝试将投资组合网站中的联系表单链接到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
})
}
答案 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}}对象已正确设置)。