Javascript 为什么可以';我不能向Firebase数据库添加信息吗?

Javascript 为什么可以';我不能向Firebase数据库添加信息吗?,javascript,html,firebase,firebase-realtime-database,Javascript,Html,Firebase,Firebase Realtime Database,我正在尝试将我的web应用程序连接到Firebase数据库,但它不会向其中添加信息。我希望用户在系统中输入信息,并将该信息存储到名为“appts”的数据库中: JS功能: var config = { apiKey: "____________", authDomain: "southern-motors.firebaseapp.com", databaseURL: "https://southern-motors.firebaseio.com", projectId: "southern-mo

我正在尝试将我的web应用程序连接到Firebase数据库,但它不会向其中添加信息。我希望用户在系统中输入信息,并将该信息存储到名为“appts”的数据库中:

JS功能:

var config = {
apiKey: "____________",
authDomain: "southern-motors.firebaseapp.com",
databaseURL: "https://southern-motors.firebaseio.com",
projectId: "southern-motors",
storageBucket: "southern-motors.appspot.com",
messagingSenderId: "852338882104"
};
firebase.initializeApp(config);

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

document.getElementById('appts').addEventListener('submit', addAppt);
function addAppt(e) {
  e.preventDefault();
var inputName = document.getElementById("customerName").value;
var inputEmail = 
document.getElementById("customerEmail").value.toLowerCase();
var inputPhone = document.getElementById("customerPhone").value;
var inputDate = document.getElementById("customerDate").value;

messagesRef.push({
                name: inputName,
                email: inputEmail,
                phone: inputPhone,
                date: inputDate
            }).then(function() {
console.log("Document successfully written!");
location.reload();
})
.catch(function(error) {
console.error("Error writing document: ", error);
});

}
输入表格:

<div class="contact-form">
         <form id="appts" 
action="https://formspree.io/MYEMAIL" method="POST">
        <label>Name: </label><input id="customerName" class ="form-control" 
type="text" name="Name of Customer" required></input>

        </br>
        <label>Email Address: </label><input id="customerEmail" class="form- 
control" type="email" name="Email Address" required></input>
        </br>

        <label>Phone no.: </label><input id="customerPhone" class ="form- 
control" type="number" name="Phone No." required></input>
        </br>
        <label>Date & Time of Test Drive: </label><input id="customerDate" 
class ="form-control" type="datetime-local" name="Date & Time of Test Drive" 
required></input>
        </br>

        <input type="submit" value="Submit">
    </form>
</div>

姓名:

电邮地址:
电话号码:
路试日期和时间:

一个类似的“注册用户”函数在另一个表单上工作,所以我不确定这为什么不起作用。欢迎所有建议。

我测试了您的代码,它按照提供的方式工作。这意味着问题在于权限

按“提交”后检查控制台,您很可能会看到以下错误:

Error writing document:  Error: PERMISSION_DENIED: Permission denied
    at firebase.js:1
    at Dr (firebase.js:1)
    at t.callOnCompleteCallback (firebase.js:1)
    at firebase.js:1
    at firebase.js:1
    at e.onDataMessage_ (firebase.js:1)
    at t.onDataMessage_ (firebase.js:1)
    at t.onPrimaryMessageReceived_ (firebase.js:1)
    at t.onMessage (firebase.js:1)
    at t.appendFrame_ (firebase.js:1)
(anonymous) @ test.html:65
Promise.catch (async)
addAppt @ test.html:64
此错误表示您没有访问权限。访问以了解有关安全规则的更多信息

如果要向所有人打开数据库,请使用以下规则:

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

是否有任何特定的安全规则可以阻止写入?您是否在日志中看到
console.log(“Document successfully write!”)的输出?或者您会看到
catch()
的输出。如何检查数据是否已添加到数据库中?通过Firebase控制台?如果是,您在控制台中的具体位置是什么?