gpt4 book ai didi

javascript - firebase "Uncaught TypeError: undefined is not a function"错误

转载 作者:行者123 更新时间:2023-11-28 00:39:08 25 4
gpt4 key购买 nike

我对 Web 开发非常陌生,并且遇到了 firebase 错误。

我正在使用 Firebase 和 jQuery 制作一个可识别语音并将其转换为文本的 Web 应用程序。 (语音转文本,STT)

我必须实时推送 STT 结果,以便所有客户端都能看到文本。

但是,问题出现在这个事件监听器中:

finalSTTField.click(function (e) {
var message = finalSTTField.val();
sttRef.push({ text: message } );
});

作为 STT 的结果,finalSTTField 中有一个字符串,其声明如下:

var finalSTTField = $('#final_span');

我想使用 firebase 推送字符串:

var sttRef = new Firebase('https://sizzling-torch-2935.firebaseio.com/');

<div class="sttResultContainer">
<ul id="sttMessages"></ul>
</div>

var sttResults = $('#sttMessages');

sttRef.limitToLast(10).on('child_added', function (snapshot) {
var data = snapshot.val();
var sttText = data.value();

var messageElement = $("<li>");
messageElement.text(sttText);
sttResults.append(messageElement);
sttResults[0].scrollTop = sttResults[0].scrollHeight;
});

但 sttResults 中没有显示任何内容。

chrome浏览器的错误信息是:firebase.js:26未捕获的类型错误:未定义不是函数

每次发生点击事件时,错误计数都会增加。 (奇怪的是,计数从 10 开始)

第一个 STT 成绩单在 #final_span 范围内表现良好。但我必须实时推送 #final_span 中的字符串...

请有人帮助我!这是我的第一个网络应用程序...

完整的源代码在这里: full source in JSFiddle

最佳答案

这一行是错误的:

var sttText = data.value();

在快照上调用 val() 来获取值后,您将获得一个 JSON 对象。该对象上没有定义任何方法。您的文本位于子属性中,因此您可以像这样获取它:

var data = snapshot.val();
var sttText = data.text;

请注意,如果您在提取数据后添加 console.log 语句,那么很容易发现这样的问题:

var data = snapshot.val();
console.log(data);

这是一种非常常见的故障排除技术。在你的 fiddle 中它打印:

Object {text: ""}

关于javascript - firebase "Uncaught TypeError: undefined is not a function"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28136344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com