我对以下问题感到困惑。在制作一个小网页以查看我在Firebase上的某些数据时,有些地方我无法访问我想要的内容。 当然我知道服务器上的这个地方有什么东西。这是代码,似乎localRef.once()永远不会被调用。
var dbLocalURL = "https://atinytestapp.firebaseio.com/MyList/rc99/";
var localRef = new Firebase(dbLocalURL);
localRef.once("value", function(snapshot) {
// WE NEVER COME HERE !!!!
for (record in snapshot.val()) {
document.write(record)
var recordRef = new Firebase(dbLocalURL+record+"/");
recordRef.once("value", function(rcdSnapshot) {
var rcdData = rcdSnapshot.val();
document.write(rcdData[“someKey”])
})
}
}, function (errorObject) {
// WE NEVER COME HERE !!!!
console.log("The read failed: " + errorObject.code);
document.write("The read failed: " + errorObject.code);
});
访问数据的页面在任何地方都应该正常工作,除了在具有上述行为的一个地方。 除此之外,我还检查了我使用的URL是否正确,将其粘贴到浏览器中并查看我期望的数据。 我能错过什么?我希望有人能给我一个提示。
答案 0 :(得分:4)
(注意:这是新的Firebase 3方式) 这不包含在问题的代码中,但这里的初始化(此处为完整性)
// Set the configuration for your app: Replace with your project's config object
var config = {
apiKey: '<your-api-key>',
authDomain: '<your-auth-domain>',
databaseURL: '<your-database-url>',
storageBucket: '<your-storage-bucket>'
};
firebase.initializeApp(config);
// Get a reference to the database service
var database = firebase.database();
并假设您只想读取一次数据:
firebase.database().ref('MyList/rc99').once('value').then(function(snapshot) {
for (record in snapshot.val()) { //unordered records, see comment
document.write(record)
...
Firebase 2
var ref = new Firebase("https://atinytestapp.firebaseio.com/MyList/rc99/");
ref.on("value", function(snapshot) {
snapshot.forEach(function(record) { //ordered records, see comment
document.write(record)
...
});
注意:确保网址正确,就好像它的格式错误一样,根本无法工作。我尝试了你的网址,它似乎没有响应。