[英]Firebase: Get userdata obj and bring back the user profile without page refresh?
我已經嘗試了2天,但是如果我想從數據庫中獲取用戶個人資料,則需要刷新頁面。 沒有頁面刷新有什么辦法嗎? 我需要使用某種形式的jajax實現嗎? 可能嗎?
這是我的兩種方法,它們正在工作,但是需要先刷新頁面,然后才能帶回我的用戶個人資料。
function authDataCallback(authData) {
if (authData) {
var fb = new Firebase('https://blistering-torch-8000.firebaseio.com/users/public/');
fb.child(authData.uid).on('value', function(data) {
var myData = data.val();
var dateString = myData.date.split(' ').slice(0, 4).join(' ');
$('.profile').append('<li>Username: ' + myData.username + '</li>');
$('.profile').append('<li>Joined: ' + dateString + '</li>');
});
var fb = new Firebase('https://blistering-torch-8000.firebaseio.com/users/private/');
fb.child(authData.uid).on('value', function(data) {
var myData = data.val();
$('.profile').append('<li>Email: ' + myData.email + '</li>');
});
} else {
console.log('Profile: No data, no one is logged in');
}
}
fb.onAuth(authDataCallback);
要么
var fb = new Firebase('https://blistering-torch-8000.firebaseio.com/');
var getAuth = fb.getAuth();
function getProfile(authData) {
if (authData) {
var fb = new Firebase('https://blistering-torch-8000.firebaseio.com/users/public/');
fb.child(authData.uid).on('value', function(data) {
var myData = data.val();
var dateString = myData.date.split(' ').slice(0, 4).join(' ');
$('.profile').append('<li>Username: ' + myData.username + '</li>');
$('.profile').append('<li>Joined: ' + dateString + '</li>');
});
var fb = new Firebase('https://blistering-torch-8000.firebaseio.com/users/private/');
fb.child(authData.uid).on('value', function(data) {
var myData = data.val();
$('.profile').append('<li>Email: ' + myData.email + '</li>');
});
} else {
console.log('Profile: No data, no one is logged in');
}
}
getProfile(getAuth);
數據庫規則:
{
"rules":
{
"users":
{
"public":
{
// allow me to list users by name
".read": true ,
".write": true
},
"private":
{
"$uid":
{
// only readable by owner
".read": "auth.uid === $uid",
".write": true
}
}
}
}
}
未經驗證的onAuth
和getAuth
返回null
。 修正您的登錄/函數調用順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.