我是firebase的新手,所以我尝试创建一个简单的CRUD函数,我只能保存数据。我不会使用newPostKey方法,因为这个网站上只有一个用户。我想更新user_name并使用plate_no值删除整个数据但我的代码不起作用。这是我的代码:
function save_user() {
var user_name = document.getElementById('user_name').value;
var plate_no = document.getElementById('plate_no').value;
var data = {
user_name: user_name
}
var updates = {};
updates['/users/' + plate_no] = data;
firebase.database().ref().update(updates);
alert('The User is Created Successfully!');
reload_page();
}
function update_user() {
var user_name = document.getElementById('user_name').value;
var plate_no = document.getElementById('plate_no').value;
var data = {
user_id: plate_no,
user_name: user_name
}
var updates = {};
updates['/users/' + plate_no] = data;
firebase.database().ref().update(updates);
alert('The User is Updated Successfully!');
reload_page();
}
function delete_user() {
var user_id = document.getElementById('plate_no').value;
firebase.database().ref().child('/users/' + plate_no).remove();
alert('The User is Deleted Successfully!');
reload_page();
}
function reload_page() {
window.location.reload();
}
答案 0 :(得分:0)
update()和remove()返回Promise,使用回调或然后(),以便在确认操作完成后显示alert()。
或更好,使用.catch()来获取错误,看看它为什么不起作用。 即:
firebase.database().ref().child('/users/' + plate_no).remove()
.then(() => {
console.log('success!, show alert now');
})
.catch(err => {
console.log('errorcode', err.code);
});