Javascript - 无法检索在函数内调用的firebase数据

时间:2017-09-16 17:45:33

标签: javascript firebase firebase-realtime-database firebase-security

我正在使用firebase数据库进行项目。我正在尝试检索数据2次。第一次工作得很好,但第二次不能正常工作。这是我的代码:

<script>
    // Initialize Firebase
    var config = {
        apiKey: "-------------",
        authDomain: "-------------",
        databaseURL: "-------------",
        projectId: "-------------",
        storageBucket: "-------------",
        messagingSenderId: "-------------"
    };
    firebase.initializeApp(config);

    // Get a reference to the database service
    var location = firebase.database().ref('loc/');

    location.once('value').then(function(snapshot) {
        init(snapshot);
    });
</script>

然后在不同的脚本标签中,我放置了所有功能

<script>
    function init(snapshot) {
        console.log(snapshot.location) //there's no permission issue here

        var onChangeHandler = function(name) {
            myFunction(name);
        };

        //to get input from user
        $('.drc').click(function(){
            var text = $(this).text();
            onChangeHandler(text);
        });

    }

    function myFunction(name) {

        var find = firebase.database().ref('routes/'+name);

        //the permission issue start here
        routes.once('value').then(function(snapshot) {
            var routesName = snapshot.name;
            console.log(routesName);
        });

    }

</script>

当然我已经制定了规则:

{
  "rules": {
    ".read": "auth != false",
    ".write": "auth != false"
  }
}

我的错误:

  

未捕获(在承诺中)错误:在/ routes / AL上的permission_denied:客户端无权访问所需数据。

我的代码出了什么问题?为什么我第二次无法访问它?

0 个答案:

没有答案