Javascript 如何使用firebase在web清单中进行更新
我正在网站中创建管理面板,我正在使用firebase作为后端数据库。我能够显示列表,但当我单击特定列表时,状态应该从“待定”更改为“接受”,但它没有。我不知道我哪里出错。请给出建议,我附上js文件和数据库截图 pl.jsJavascript 如何使用firebase在web清单中进行更新,javascript,firebase,web,firebase-realtime-database,Javascript,Firebase,Web,Firebase Realtime Database,我正在网站中创建管理面板,我正在使用firebase作为后端数据库。我能够显示列表,但当我单击特定列表时,状态应该从“待定”更改为“接受”,但它没有。我不知道我哪里出错。请给出建议,我附上js文件和数据库截图 pl.js var firebaseheadingf=firebase.database().ref().child(“用户”); firebaseheadingRef.on('child_added',datasnapshot=>{ var title=datasnapshot.chil
var firebaseheadingf=firebase.database().ref().child(“用户”);
firebaseheadingRef.on('child_added',datasnapshot=>{
var title=datasnapshot.child(“列表”).child(“标题”).val();
var userid=datasnapshot.child(“用户名”).val();
var type=datasnapshot.child(“列表”).child(“标题”).val();
var publisheddate=datasnapshot.child(“列表”).child(“发布”).val();
var expireydate=datasnapshot.child(“listing”).child(“expire”).val();
$(“#tablebody”).append(“+title+”+userid+“+type+”+publisheddate+“AcceptReject”);
});
函数accept()
{
firebaseheadingRef.on('child_changed',datasnapshot=>{
datasnapshot.child(“列表”).child(“状态”).update({“状态”:“接受”});
setCommentValues(postElement、data.key、data.val().text、data.val().author);
});
}
数据库
列出我点击“接受”按钮的显示图片,然后更新状态
您需要在两个地方更改代码: 首先,在生成表的代码中,必须将节点的id传递给函数调用,如下所示。使用
DataSnapshot
属性获取节点id
.....
$("#tablebody").append("<tr><td>"+title+"</td><td>"+userid+"</td><td>"+type+"</td><td>"+publisheddate+"</td><td><button type=button id=accept onclick=accept('" + datasnapshot.key + "')>Accept</button><button type=button>Reject</button></td></tr>");
...
非常感谢您,您能告诉我如何在同一数据库的列表中插入数据和删除数据吗?我对这是一个非常广泛的主题!我建议您查看文档,如果您遇到任何问题,请提出一个新问题,并提供所有详细信息。除了接受我的答案外,如果你认为它“有用且研究充分”,你可以投上一票,见。谢谢以下是插入和删除的单据:
.....
$("#tablebody").append("<tr><td>"+title+"</td><td>"+userid+"</td><td>"+type+"</td><td>"+publisheddate+"</td><td><button type=button id=accept onclick=accept('" + datasnapshot.key + "')>Accept</button><button type=button>Reject</button></td></tr>");
...
function accept(userId) {
var nodeRef = firebase.database().ref("/user/" + userId + "/listing/status");
return nodeRef.set('accept');
}