2012-06-26 32 views
0
var ref1 = new Firebase("http://gamma.firebase.com/myuser/123,456"); 
ref1.set("123,456"); 
var on1 = ref1.on("value", function(snapshot) { 
    console.log(snapshot.val()); 
}); 
// console logs 123,456 

因此用逗号命名工作正常。但是,让我们假设你想将URL传递给ref。Firebase条目是否可以在名称中包含逗号?

var url1 = ref1.toString(); 
console.log(url1); 
// console logs http://gamma.firebase.com/myuser/123%2C456 

toString()函数用逗号替换为“%2C”来返回一个URL版本。如果URL仍然可用,这将很好。

var ref2 = new Firebase(url1); 
var on2 = ref2.on("value", function(snapshot) { 
    console.log(snapshot.val()); 
}); 
// console logs null 

这是一个错误,或者是有一个很好的理由,用户应该有这样做

var url1 = ref1.toString().replace(/%2C/g,","); 

为了得到一个可用的火力地堡网址?

回答

0

允许在Firebase密钥中使用逗号。在我们的网站上有一个限制字符列表,供将来参考in our docs

这里的问题是toString()方法是URL编码的URL。这里我们的意图是,这样可以更轻松地将该URL粘贴到浏览器中,并使用我们的实时调试器进行查看。我可以看到,如果您调用toString,然后尝试使用该字符串创建新的Firebase引用,这会造成问题。

我们并不认为这是一个正常的用例。您能详细说明为什么要使用另一个引用的toString方法构建新的Firebase引用?我们有“child()”和“parent()”函数来帮助您遍历数据。

如果我们想要更改URL在toString中的编码方式,并且可能会在未来的版本中修复此问题,我们将在内部讨论。

+0

感谢您的快速回复,安德鲁。我的问题并不是很彻底,所以你的回答没有帮助,但我只是试图用编辑来澄清。让我知道这是否更有意义。 – bennlich

+0

请将链接添加到新文档Andrew – Pier

相关问题