作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的火基引用有一个错误,由于某种原因,它说引用未定义,我无法弄清楚为什么,如果您能以任何方式提供帮助,那就太好了。
var eventtable = document.getElementById("eventtable");
var dateofevent = document.getElementById("dateofevent");
var datetext = dateofevent.textContent;
var user = firebase.auth().currentUser;
var firebaseRef;
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var email = user.email;
userId = user.uid;
document.getElementById("welcomeuser").innerHTML = "Welcome " + email;
firebaseRef = firebase.database().ref().child("Events").child(userId).child(datetext);
} else {
window.location.href="login.html";
}
});
firebaseRef.on("value", function(snapshot) {
var content = '';
snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key;
var val = childSnapshot.val();
content +='<tr>';
content += '<td>' + val.Name + '</td>';
content += '<td>' + val.Description + '</td>';
content += '</tr>';
});
eventtable.append(content);
}, function(error) {
console.error(error);
});
最佳答案
您尝试在 firebaseRef 具有值之前使用它。
onAuthStateChanged 是异步的,这意味着它会立即返回,并且在身份验证信息可用之前不会执行您传递的回调。这意味着 firebaseRef 在被调用之前没有值。您的代码继续假设 firebaseRef 有一个值。
如果您想使用 firebaseRef,则只能在分配后使用它。
关于javascript - Firebase 与 Web : Using user Id in reference causes error: Uncaught TypeError: Cannot read property 'on' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695051/
我是一名优秀的程序员,十分优秀!