我不知道为什么UID返回null。 userSessionCheck()包含用于在登录后保留会话的代码。 user.uid给出相同的结果,下面是我的代码和错误代码
-
$(document).ready(function(){
auth = firebase.auth();
db = firebase.database();
storage = firebase.storage();
userInfo = auth.currentUser;
userSessionCheck();
update_profile();
function update_profile() {
var mypage_Ref = db.ref('users/' + userInfo.uid).once('value').then(function(snapshot){
console.log(snapshot.val());
profileImageUrl = $('#update_email').val(snapshot.val().profileImageUrl);
email = $('#update_email').val(snapshot.val().email);
u_name = $('#update_name').val(snapshot.val().username);
job = $('#update_job').val(snapshot.val().job);
var html =
'<div class="profile">' +
'<img src="'+profileImageUrl+'" id="profile_img">'+
'<div class="form_g">'+
'<label>email</label>'+
'<input type="text" style="text-align: center" id="update_email" placeholder="'+ email +'">'+
'</div>'+
'<div class="form_g">'+
'<label>name</label>'+
'<input type="text" style="text-align: center" id="update_name" placeholder="'+u_name+'">'+
'</div>'+
'<div class="form_g">'+
'<label>job</label>'+
'<h5 id="update_job">'+job+'</h5>'+
'</div>'+
'<button type="button" class="s-btn" id="info_submit" style="width: 100%; margin-top: 30px;">update</button>'+
'</div>';
$('#profile_form').append(html);
});
}
});
答案 0 :(得分:1)
userInfo = auth.currentUser
为您提供null,这意味着userInfo.uid
将给出该错误。当auth.currentUser
为null时,表示没有用户登录。在加载新页面时,不会立即登录该用户,因此您应使用auth state observer来确定何时首次登录该用户帐户可用。