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传递给参考号。
var url1 = ref1.toString();
console.log(url1);
// console logs http://gamma.firebase.com/myuser/123%2C456
toString()函数返回url的一个版本,逗号替换为“%2C”。如果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,",");
为了获得可用的Firebase网址?
答案 0 :(得分:0)
Firebase密钥允许使用逗号。我们的网站上有一系列受限制的字符,但供将来参考in our docs。
这里的问题是toString()方法是对URL进行URL编码。我们的目的是,这样可以更轻松地将该URL粘贴到浏览器中,并使用我们的实时调试器进行查看。我可以看到如果你调用toString然后尝试使用该字符串创建一个新的Firebase引用,这会产生什么问题。
我们认为这不是正常用例。你能详细说明为什么要使用另一个引用的toString方法构建新的Firebase引用吗?我们有“child()”和“parent()”函数来帮助您遍历数据。
我们将在内部讨论是否要更改URL在toString中的编码方式,并在将来的版本中修复此问题。