我正在使用 firebase 制作消息传递系统。它正确地将消息发送到 firebase,但是当我发送消息时,它不断抛出错误:
Uncaught TypeError: sendToServer(...) is not a function
at sendToP.js:21
at EventRegistration.ts:109
at Qe (util.ts:539)
at EventQueue.ts:159
at Pi (EventQueue.ts:127)
at Ii (EventQueue.ts:107)
at wo (Repo.ts:365)
at ro.s.server_ [as onDataUpdate_] (Repo.ts:230)
at ro.onDataPush_ (PersistentConnection.ts:661)
at ro.onDataMessage_ (PersistentConnection.ts:654)
这里是将消息添加到数据库的函数
function cleanMessage(message){
message = message.split(" ").map(x => badWords.indexOf(x) != -1? x = (x.split("").map(c => c = '*')).join(""): x = x).join(" ")
return message
}
function sendToServer(obj) {
autoId = firebase.database().ref('users').push().key
firebase.database().ref('/general/' + autoId.toString()).set(obj)
}
$(".send").click(function() {
firebase.database().ref('Users/' + firebase.auth().currentUser.uid).on('value', function(snapshot) {
digits = snapshot.val().digits
let message = cleanMessage($(".enter-message").val())
let messageObject = {
message: message,
sender: digits
}
sendToServer(messageObject)
$(".enter-message").val('')
});
})
这里是获取最后一条消息的函数。注意:这是一个单独的脚本
// Add message to the browser window
firebase.database().ref('general').orderByKey().limitToLast(1).on("value", function(snapshot){
message = ""
snapshot.forEach(function(elem){
message = elem.val().message
})
})
非常感谢您的帮助。