Python代码:
@app.route("/", methods=["GET", "POST"])
def login():
if request.method == "POST":
user = request.form.get('user')
session["username"] = user
else:
return render_template("login.html")
@app.route("/chatroom")
def chatroom():
return render_template("chatting.html")
@socketio.on('submit data')
def sample(data):
selection = data["selection"]
time_stamp = data["time_stamp"]
username = data["username"]
emit("announce data", {"selection":selection, "time_stamp":time_stamp}, broadcast = True)
socketio.run(app)
JS文件:
// username = contents.username;
document.addEventListener('DOMContentLoaded', () => {
var socket = io.connect(
location.protocol + "//" + document.domain + ":" + location.port
);
socket.on('connect', () => {
document.querySelector('#submit').onclick = () => {
const p = document.createElement('p');
p.innerHTML = document.querySelector('.message-entered').value;
document.querySelector('.stored-channels-div').append(p)
}
document.getElementById('#submit-btn').onclick = () => {
let today = new Date();
let month = today.getMonth();
let date = today.getDate();
let hours = today.getHours();
let minutes = today.getMinutes();
const monthNames = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
];
let current_time = `${monthNames[month-1]} ${date}, ${hours}:${minutes}`;
const selection = document.querySelector('.message-entered').value;
socket.emit('submit data', {'selection':selection, 'time_stamp':current_time});
}
socket.on('announce data', data => {
const p = document.createElement('p');
p.innerHTML = `<span>${data.selection}</span>` + `</br>` + `<span>${data.time_stamp}</span>`;
document.querySelector('.displaying-message-div').append(p);
// username = `<span>${data.username}</span>` + `</br>` +
});
});
});
我正在开发一个出现此错误的聊天室应用程序。在Visual Studio代码中,错误是会话已断开连接,当我查看浏览器的控制台时,它出现错误 Uncaught TypeError:无法将属性'onclick'设置为null 。我不明白为什么会出现此错误,因为代码运行正常,而且我也没有对代码进行任何更改。