按钮单击动态创建Websocket

时间:2017-09-11 14:56:10

标签: javascript node.js websocket

我正在为客户创建一个SPA,我想在用户点击“登录”按钮后创建一个新的Websocket。我遇到的问题是,如果在初始页面加载时完成,我只能正确创建Websocket。

例如,以下代码可以正常创建Websocket:

<script src="socket.io.js"></script>
      <script>
        var pass;
        var socket = {};      
        socket = io('https://my.server.here', { query: "pass=mypasswordhere" });

        socket.on('error', function(err){
          console.log('Connection Failed: ' + err);
        });

        socket.on('chat message', function (data) {
            console.log('data: ' + data);
            socket.emit('my other event', { my: 'data' });
        });
</script>

但是,当我尝试通过单击事件创建Websocket时,它不会被创建:

<html>
    <head>
      <script src="socket.io.js"></script>
      <script>
        var pass;
        var socket = {};
        function connect() {
          passInput = document.getElementById("password");
          pass = passInput.value;
          socket = io('https://my.server.here', { query: "pass=" + pass });

          socket.on('error', function(err){
            console.log('Connection Failed: ' + err);
          });

          socket.on('chat message', function (data) {
            console.log('data: ' + data);
            socket.emit('my other event', { my: 'data' });
          });
        }
      </script>
    </head>
    <body>
        <form>
            <input type="password" id="password">
            <button onclick="connect()">Connect</button>
        </form>
    </body>
</html>

控制台中没有显示错误,我的服务器在使用第二个代码段时也没有确认连接尝试。

0 个答案:

没有答案