在socket.emit()中传递参数的问题

时间:2019-12-10 09:44:08

标签: javascript flask websocket socket.io flask-socketio

            document.querySelector('#sendmessage').onclick = () => {
                const channel = "sports";
                const name = document.querySelector('#displayname').data("displayname");
                const msg = document.querySelector('[name="message"]').value;
                const time = timeStamp();
                //message(n,d,t);
                socket.emit('updatemessage', {'channel':channel, 'name':name, 'msg':msg, 'time':time});
            }

在socket.emit()部分传递这四个参数(通道,名称,消息,时间)时遇到问题。我需要将它们传递过来,以便通过Flask服务器存储消息详细信息。我可以传递多个参数吗?如果没有,我该如何处理?

编辑: 烧瓶摘要

@socketio.on('updatemessage')
def updatemessage(data):
    print("initialised")
    channel = data["channel"]
    name = data["name"]
    channels[channel][name][0] = data["msg"]
    channels[channel][name][1] = data["time"]
    print(f" this is the update channel info : {channels}")
    m = channels[channel]
    print(f"m is :  {m}")
    emit('message loader', m, broadcast=True)

实际上,我正在尝试将消息数据存储在烧瓶服务器的全局变量中

1 个答案:

答案 0 :(得分:0)

回答我自己的问题!

我检查发现此行存在问题 const name = document.querySelector('#displayname').data("displayname");

,现在工作正常。我坚信一定是socket.emit()造成问题的部分