2016-08-14 49 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

回答