Firebase"错误:密钥创建者未定义。无法在JSON中传递undefined。请改用null。"

时间:2015-02-12 20:13:59

标签: json angularjs firebase firebasesimplelogin

我正在为我正在构建的应用程序使用angularFire 0.8.2。该应用程序基于thinkster.io的angular-firebase教程。我面临的问题是我必须创建自定义用户配置文件并访问存储在其中的数据。特别是,一旦我以用户身份登录,我就无法发帖。

我多次查看错误并不断收到以下错误:

Error: Key creator was undefined. Cannot pass undefined in JSON. Use null instead. 

堆栈跟踪指向为允许创建后创建的服务。

以下是代码:

var Post = {
    all: posts,
    create: function (post) {
      return posts.$add(post);
    },
    get: function (postId) {
      return $firebase(ref.child('posts').child(postId)).$asObject();
    },
    delete: function (post) {
      return posts.$remove(post);
    }
  };

我查看了针对同一问题提供的解决方案,但他们并没有太大帮助。我只是猜测问题与上面的$ add()方法有关。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

我知道这是在一年前问过的,但是我想我还是会补充一些帮助。我的解决方案相当简单,也许它可以帮助未来的人们。您看到此消息的原因是您在代码/对象中的某个位置有一个未定义的变量,您尝试$ add。如果对象的属性中存在任何未定义的变量,Firebase将拒绝整个$ add对象。希望这会有所帮助。

答案 1 :(得分:0)

总之,确实没有错误。当您按照教程操作时,您创建的初始 帐户没有用户名字段 ,因此您没有提供任何内容。现在更新的代码需要一个,没有。只需尝试创建一个新帐户并发布一个新链接。你不会看到那个错误。