Firebase.database()对象没有' ref'方法或'参考'打电话的方法

时间:2017-10-05 09:51:30

标签: javascript database firebase web

我已经开始使用firebase,但是已经遇到了一段烦人的问题。当我使用database创建firebase.database()对象时,当我尝试调用ref方法时,没有可用的ref方法。我正在使用JetBrains的WEBSTORM IDE。因此,当我推送数据时,它不会进入数据库。这是我的代码。 下面的脚本名为main.js。

firebase.initializeApp(config);
function loginclicked()
{

    var database = firebase.database()

    var ref = database.ref('Scores') ;

    var data = {"Name" :"Natesh" , "Age" : 27} ;

    ref.push(data) ;

}

这是我在数据库中的数据: -

enter image description here

我的项目名称是' sit-notifier' ,我还设置了数据库规则以接受所有请求。

EDIT1: - 我发现firebase对象本身并没有因为某种原因而被初始化。这就是database对象不会被创建的原因,因此也就是参考。

这是我的index.html代码,它调用上面的java脚本代码: -

    <body class="center">

        <!-- Add your site or application content here -->


        <h1 class="mainheading">Notification Generator</h1>


        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase.js"></script>

        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-app.js"></script>
        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-database.js"></script>


        <script src="js/vendor/modernizr-3.5.0.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-3.2.1.min.js"><\/script>')</script>
        <script type="text/javascript" src="js/plugins.js"></script>
        <script type="text/javascript" src="js/main.js"></script>

        <!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
        <script>
            window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
            ga('create','UA-XXXXX-Y','auto');ga('send','pageview')
        </script>
        <script src="https://www.google-analytics.com/analytics.js" async defer></script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

似乎问题出现在我调用index.html文件中的main.js脚本的顺序中。一旦我修好了它就像魅力一样。

这是固定代码: -

<body class="center">

        <!-- Add your site or application content here -->

        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-app.js"></script>
        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-auth.js"></script>
        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-database.js"></script>
        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-firestore.js"></script>
        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase-messaging.js"></script>



        <script src="https://www.gstatic.com/firebasejs/4.5.0/firebase.js"></script>
        <script type="text/javascript" src="js/main.js"></script>



        <script src="js/vendor/modernizr-3.5.0.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
        <script>window.jQuery || document.write('<script src="js/vendor/jquery-3.2.1.min.js"><\/script>')</script>
        <script type="text/javascript" src="js/plugins.js"></script>

        <!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
        <script>
            window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
            ga('create','UA-XXXXX-Y','auto');ga('send','pageview')
        </script>
        <script src="https://www.google-analytics.com/analytics.js" async defer></script>
    </body>