You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Firebase数据读取至网页时遇Uncaught TypeError错误排查

解决Firebase初始化后报错「Uncaught TypeError: firebase is not a function」的问题

我一眼就瞅到你代码里的问题啦,咱们拆解来看:

核心错误原因

你重复定义了msgRef变量,而且第二次的写法完全错误:

var msgRef = firebase().ref('survey');

这里的firebase是Firebase SDK提供的全局对象,不是可以直接加括号调用的函数,所以浏览器会抛出「firebase is not a function」的错误。

另外你之前已经正确获取过一次引用了:

var msgRef = firebase.database().ref('survey');

完全没必要再重复定义,反而把正确的逻辑搞乱了。

修正后的完整代码

// Initialize Firebase
var config = {
  apiKey: "AIzaSyBz13eirmEOGD1uXOZwf6tKGnEsjfwsUFo",
  authDomain: "platformtechproject.firebaseapp.com",
  databaseURL: "https://platformtechproject.firebaseio.com",
  projectId: "platformtechproject",
  storageBucket: "platformtechproject.appspot.com",
  messagingSenderId: "1065758005439"
};
firebase.initializeApp(config);
var database = firebase.database();
// 只需要这一次引用定义就行
var msgRef = firebase.database().ref('survey');
//console.log(firebase);
msgRef.on('value', gotData, errData);

// 别忘了补充你的gotData和errData函数哦
function gotData(snapshot) {
  // 处理获取到的数据逻辑
}

function errData(error) {
  // 处理错误逻辑
  console.error('读取数据失败:', error);
}

额外提醒

还要确保你在HTML文件里正确引入了Firebase的必要脚本(顺序不能错):

<!-- 先引入Firebase核心库 -->
<script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-app.js"></script>
<!-- 再引入数据库模块 -->
<script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-database.js"></script>

内容的提问来源于stack exchange,提问作者user8840249

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:50:37