KeyError:“会话已断开连接”

时间:2020-06-12 15:59:30

标签: javascript python sockets flask-socketio

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 。我不明白为什么会出现此错误,因为代码运行正常,而且我也没有对代码进行任何更改。

0 个答案:

没有答案