【发布时间】:2018-07-27 04:06:22
【问题描述】:
我正在尝试在不刷新的情况下更新用户在公司页面上所下订单的值。为此,我使用了 jQuery .on 方法。但是,这会一一返回我为订单生成的数组中的值,而不是一次全部返回。这只是firebase的问题还是只是我的代码。
这是我的代码:
当我得到值时:
firebase.database().ref('Orders/' + user_id).on('value', function(snapshot) {
// Check if the user has any pending orders
if (snapshot.val() === null) {
// No Pending Orders are Present
$('.order_content-parent').html(' <div class="order_content">Hooray! You have no pending orders!</div>');
} else {
// One or more pending orders are present
console.log(snapshot.val());
snapshot.forEach(function(child){
$('.order_content-parent').html(' <div class="order_content"></div>');
var order = child.val().Order;
var key = child.key;
console.log('Key is : '+key);
getOrders(key);
});
当我将值插入数据库时:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var myId = user.uid;
const orders = ['Orders: '];
$('.postData').each(function() {
var data = $(this).html();
orders.push(data);
var database = firebase.database();
database.ref('Orders/' + user_id + '/' + myId).set({
Order: orders
}, function(error) {
if (error) {
// The write failed...
alert(error);
} else {
$('.postData').html('Connecting...');
}
});
database.ref('Orders/' + myId).set({
Order: orders,
For: user_id
}, function(error) {
if (error) {
// The write failed...
alert(error);
} else {
$('.postData').html('Order Successfully Placed!');
}
});
});
} else {
// No user is signed in.
}
});
这是我打印数据库中的值时的控制台:
这是我的数据库结构:
谁能帮忙
提前致谢,
汤姆
【问题讨论】:
标签: javascript html firebase firebase-realtime-database