Знакомство с обновлением базы данных Firestore с помощью формы html. Когда я жестко кодирую .set
вне прослушивателя событий, он обновляет базу данных, но когда я пытаюсь сделать то же самое внутри прослушивателя событий, я получаю такие ошибки, что они не могут получить доступ к бэкэнду Cloud Firestore и что XMLHTTPRequest не может загрузить сайт из-за прав контроля доступа. Я установил его так, чтобы любой мог получить доступ к базе данных, поэтому я не понимаю, почему она не работает.
document.getElementById("pushMe").addEventListener("click", function submitForm(){
let first_name = document.getElementById("firstname").value;
let last_name = document.getElementById("lastname").value;
console.log(first_name, last_name);
docref.set({
first_name: first_name,
last_name: last_name
}, { merge: true }).then(function(){
console.log("User saved!");
}).catch(function(error){
console.log("Error: ", error);
});
db.collection("test").doc("test_user").get().then(function(doc) {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});
console.log("GOODBYE!");
});
Вот код прослушивателя событий, который я пытаюсь использовать. Когда я извлекаю блок decree.set из этой функции, он обновляет базу данных, как и положено. У нас есть форма html, и мы хотим, чтобы она отправлялась при нажатии кнопки отправки.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="https://www.gstatic.com/firebasejs/7.7.0/firebase-app.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/firebasejs/7.7.0/firebase-firestore.js"></script>
</head>
<body>
<h2>HTML Forms</h2>
<form id="submit1">
First name:<br>
<input id= "firstname" type="text" name="firstname">
<br>
<input id= "lastname" type="text" name="lastname">
<br><br>
<button type="submit" id="pushMe"> Submit! </button>
</form>
<script type="text/javascript" src="web_app_test.js"></script>
</body>
</html>
Кто-нибудь еще сталкивался с этими проблемами?
ошибка контроля доступа ??