Firebase set()回调仅显示同步错误,但不显示安全规则错误?

时间:2013-06-28 14:43:05

标签: firebase firebase-security

参考Firebase set() function,是否有办法检测set()是否因安全规则错误而失败?

示例代码(接收null,表示成功,即使该集实际上因安全规则而失败):

locationRef.set('someValue', function(error) {
    console.log(error);
});

Firebase文档说,如果同步失败,回调只会收到错误,但是为安全规则传递错误也会很有用。通过这种方式,我可以自信地告诉用户他们的数据已被保存。

有没有办法做到这一点?我想这对任何带有onComplete回调的读/写函数都很有用。

1 个答案:

答案 0 :(得分:4)

如果出现安全性错误,错误对象将包含PERMISSION_DENIED代码:http://jsfiddle.net/katowulf/ZG9CY/

例如,如果我针对受保护的路径运行以下命令:

new Firebase(URL).set({ hello: 'world' }, function(error) {
    $('pre').text( 'done: '+ JSON.stringify(error) ); 
});

我得到以下内容:

done: {"code":"PERMISSION_DENIED"}

有一个文档在某个地方谈论错误代码,当我找到它时,我会将它添加到这篇文章中。(nope,it's about authentication errors