【问题标题】:jquery error with socket.iosocket.io 的 jquery 错误
【发布时间】:2017-07-22 14:00:51
【问题描述】:

我刚刚使用 socket.io 和 jquery 创建了一个聊天室。我不确定如何让它在线,所以我只是将文件上传到我拥有的旧 ftp。 (我是node.js的新手)加载网站是正常的,但是当我在控制台中查看时出现错误

Uncaught ReferenceError: io is not defined
    at HTMLDocument.<anonymous> ((index):55)
    at j (jquery-latest.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-latest.min.js:2)
    at Function.ready (jquery-latest.min.js:2)
    at HTMLDocument.J (jquery-latest.min.js:2)
(anonymous) @ (index):55
j @ jquery-latest.min.js:2
fireWith @ jquery-latest.min.js:2
ready @ jquery-latest.min.js:2
J @ jquery-latest.min.js:2

错误指向了html代码中的&lt;script&gt;标签(第一个变量集就是错误所在的地方):

<script>
    $(function(){
        var socket = io.connect();
        var $messageForm = $('#messageForm');
        var $message = $('#message');
        var $chat = $('#chat');
        var $messageArea = $('#messageArea');
        var $userFormArea = $('#userFormArea');
        var $userForm = $('#userForm');
        var $users = $('#users');
        var $username = $('#username');

        $messageForm.submit(function(e){
            e.preventDefault();
            socket.emit('send message', $message.val());
            $message.val('');
        });

        socket.on('new message', function(data){
            $chat.append('<div class="well"><strong>'+data.user+'</strong>: '+data.msg+'</div>');
        });

        $userForm.submit(function(e){
            e.preventDefault();
            socket.emit('new user', $username.val(), function(data){
                if(data){
                    $userFormArea.hide();
                    $messageArea.show();
                }
            });
            $username.val('');
        });

        socket.on('get users', function(data){
            var html = '';
            for(var i = 0;i < data.length;i++){
                html += '<li class="list-group-item">'+data[i]+'</li>';
            }
            $users.html(html);
        });
    });
</script>

我想把这个网站放到网上并使用 socket.io 和 node.js 运行它,因为它是我正在处理的一个更大项目的一部分。如果我做错了,我很抱歉。你们能帮我解决这个错误或告诉我我做错了什么吗?
非常感谢。

【问题讨论】:

    标签: javascript jquery node.js sockets


    【解决方案1】:

    您需要在脚本定义之前导入 socket.io 库:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.js"></script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2012-05-25
      • 2017-09-01
      • 1970-01-01
      • 2014-09-22
      • 2012-11-15
      • 2018-02-04
      相关资源
      最近更新 更多