我正在尝试更新“我的应用程序中的订单”状态。当页面刷新并且我尝试更新时,它成功更新。但是,当我尝试更新其他订单时,更新方法在OnComplete方法上返回成功,但不更新实时数据库上的数据。 它使我头疼,我已经尝试了所有可能的解决方案,但没有任何效果。
var dbRef = firebase.database();
var requestsRef = dbRef.ref('requests');
var onComplete = function (error) {
if (error) {
console.log('Synchronization failed');
} else {
console.log('Synchronization succeeded');
}
};
function sendToProcessing(e) {
var confirmation = confirm("Really Wanna Send To Processing?");
if (confirmation) {
var key = parseInt($(e).data("key"));
requestsRef.child(key).update({
'status': "Processing"
}, onComplete);
$('#orderDetailsModel').modal("hide")
} else {
return false;
}
}
HTML部分:
<button type="button" class="btn m-2 btn-outline-success " onclick="sendToProcessing(this)" id="btn-processing"><i class="fas fa-utensils"></i></button>
答案 0 :(得分:0)
您正在尝试使用$(e).data(“ Key”)检索密钥。在您的情况下,e是按钮元素。 button元素没有任何称为data-key的属性。
尝试如下所示将密钥添加到按钮。
<button type="button" class="btn m-2 btn-outline-success " data-key="keyvalue "onclick="sendToProcessing(this)" id="btn-processing"><i class="fas fa-utensils"></i></button>
还尝试调试sendToProcessing方法,并尝试console.log(key)可能为空。