2017-03-02 77 views
0

我剛剛使用socket.io和jQuery製作了一個聊天室。我不確定如何使它在線,所以我只是上傳文件到我有一箇舊的FTP。 (我和node.js的真新)加載了該網站是正常的,但是當我在控制檯看上去有錯誤jQuery與socket.io錯誤

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代碼中<script>標籤(第一變量集是哪裏出錯):

<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的,因爲它是一個更大的項目我工作的一部分運行。如果我完全錯了,我很抱歉。你們能幫我解決這個錯誤嗎?或者告訴我我做錯了什麼。
非常感謝。

回答

1

你需要你的腳本定義之前導入socket.io庫:

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