我正在尝试使用Firebase作为后端构建表单。
这是代码:
.HTML
<form class="form-inline">
<input type="email" class="form-control" id="inputEmail" placeholder="Enter email address...">
<button type="submit" class="btn">Subscribe</button>
</form>
<script src="https://www.gstatic.com/firebasejs/6.6.2/firebase-app.js"></script>
.JS
'use strict';
//grab a form
const form = document.querySelector('.form-inline');
//grab an input
const inputEmail = form.querySelector('#inputEmail');
//config your firebase push
const config = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
};
//create a functions to push
function firebasePush(input) {
//prevents from braking
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
//push itself
var mailsRef = firebase.database().ref('emails').push().set(
{
mail: input.value
}
);
}
//push on form submit
if (form) {
form.addEventListener('submit', function (evt) {
evt.preventDefault();
firebasePush(inputEmail);
//shows alert if everything went well.
return alert('Data Successfully Sent to Realtime Database');
})
}
但它不起作用。我在控制台上收到以下错误:
TypeError: firebase.database is not a function
它指的是:
var mailsRef = firebase.database().ref('emails').push().set
怎么了?
谢谢。
由于您使用的是实时数据库,因此在代码中的当前<script>
下,添加以下内容:
<script src="https://www.gstatic.com/firebasejs/6.6.1/firebase-database.js"></script>
能够在您的网站中使用数据库。