Javascript Firebase更新方法在不同节点上多次调用时不会更新值,但会成功返回OnComplete

Javascript Firebase更新方法在不同节点上多次调用时不会更新值,但会成功返回OnComplete,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在尝试更新我的应用程序中的订单状态。当页面刷新并且我尝试更新它时,它将成功更新。但当我尝试更新其他顺序时,Update方法在OnComplete方法上返回Success,但不更新实时数据库上的数据。 这让我头疼,我已经尝试了所有可能的解决方案,但都没有效果 var dbRef = firebase.database(); var requestsRef = dbRef.ref('requests'); var onComplete = function (error) { if (e

我正在尝试更新我的应用程序中的订单状态。当页面刷新并且我尝试更新它时,它将成功更新。但当我尝试更新其他顺序时,Update方法在OnComplete方法上返回Success,但不更新实时数据库上的数据。 这让我头疼,我已经尝试了所有可能的解决方案,但都没有效果

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>

图像显示:

单击“眼睛”按钮时的图像模型

您正在尝试使用$(e).data(“key”)检索密钥。在你的例子中,e是按钮元素。button元素没有任何称为数据键的属性

尝试将您的密钥添加到按钮,如下所示


另外,请尝试调试sendToProcessing方法,并尝试console.log(键),该值可能为空

实际上,我是使用JavascriptHere添加它的。这是我的完整代码paste.ofcode.org/ekcsbrhr63apeucpew6ux3在您的代码中,在sendToProcessing方法中更改行,如下所示。var key=parseInt($(e).attr(“数据键”))。$(e).data()没有检索动态添加的数据属性。var key=parseInt($(e).attr(“数据键”))正在返回一个数组,在我看来,它起作用了。您的firebase子密钥是数字吗??。返回Nan告诉我您的键具有非数值。如果是这种情况,您可以安全地从上述行中删除parseInt,并将其重新写入var key=$(e).attr(“数据键”);