2016-08-14 72 views
0

這是我的代碼,用於更新Firebase中的記錄。無法在angularjs中更新Firebase實時數據庫(網頁)

$scope.EditBrand = function(brand) { 
    var key = brand.id; 
    var fredNameRef = firebase.database().ref('all-brands/' + key); 

    fredNameRef.set(brand, function(error) { 
     if (error) { 
     alert ('some error') 
     } else { 
     alert ('updated') 
     } 
    }); 
} 

我檢查了鑰匙,它的未來是正確的。

但是,當調用這個函數時,這是錯誤。

angular.js:12477Error:Firebase.update失敗:第一個參數在路徑/ $$ hashKey中包含無效鍵($$ hashKey)。鍵必須是非空字符串,並且不能包含「。」,「#」,「$」,「/」,「[」或「]」 at Error(native)

我的代碼或邏輯?

+0

我認爲你有一個無效的密鑰/ ID。 $$ $$ hashkey是你的品牌ID嗎?如果是這樣,FIrebase不接受按鍵中的'$'。 – Odonno

+0

@Odonno,我的品牌ID字符串像23,34,45等 –

+1

根據https://groups.google.com/forum/#!topic/angular/pI0IgNHKjxw,您應該創建一個臨時對象以避免由角度生成的字段。因此,在您的方法中添加以下代碼行:'var brandObject = angular.fromJson(angular.toJson(brand));'並在方法的其餘部分使用'brandObject'。 – Odonno

回答