2016-04-09 5 views
0

私はsocket.ioとnodeを使って非常に基本的なチャットアプリケーションを実行しようとしています。私は何かが私の画面に印刷されるのを見ることができず、何かエラーを見つけることはできません。助けを感謝します!socket/node/expressの基本チャットアプリケーション - 何も印刷されません

ありがとうございました。

app.js

var express = require('express'); 
var app = express(); 
var server = require('http').createServer(app); 
var io = require('socket.io').listen(server); 

server.listen(3000); 
console.log('Server running...'); 

app.get('/', function(req, res){ 

    res.sendFile(__dirname + '/index.html'); 

}); 

io.sockets.on('connection', function(socket){ 
    socket.on('send-message', function(data){ 
     io.sockets.emit('new message', data); 
    }); 
}); 

index.htmlを

<html> 
<title>Chat Test</title> 

<style> #chat{ 
height: 500px; 
} 
</style> 
<head> 
<body> 

<div id = "chat"></div> 

<form id = "send-message"> 
    <input size = "35" id = "message"></input> 
    <input type = "submit"></input> 
    </form> 

    <script src ="https://code.jquery.com/jquery-latest.min.js"></script> 
    <script src ="/socket.io/socket.io.js"></script> 

    <script> 

    JQuery(function($){ 

     var socket = io.connect(); 

     var $messageForm = $('#send-message'); 
     var $messageBox = $('#message'); 
     var $chat = $('#chat'); 

     $messageForm.submit(function(e){ 

     e.preventDefault(); 
     socket.emit('send-message', $messageBox.val()); 
     $messageBox.val(''); 

     }); 

     socket.on('new message', function(data){ 
     $chat.append(data + "<br/>"); 
     }); 
    }); 

    </script> 
</body> 
</head> 
</html> 

答えて

2

のjQueryを使用している場合、あなたはJQuery、それをしませjQuery綴る必要がありますまたはあなただけの組み込みのエイリアスを使用することができます$

これは、ブラウザのデバッグコンソールにエラーが表示されるはずです。これは、独自のエラーを確認するために探す必要があることです。これを修正して、あなたのコードを実行し、http://localhost:3000にアクセスした後、あなたのアプリが私のためだけで正常に動作

jQuery(function($){ 

    var socket = io.connect(); 

    var $messageForm = $('#send-message'); 
    var $messageBox = $('#message'); 
    var $chat = $('#chat'); 

    $messageForm.submit(function(e){ 

     e.preventDefault(); 
     socket.emit('send-message', $messageBox.val()); 
     $messageBox.val(''); 

    }); 

    socket.on('new message', function(data){ 
     $chat.append(data + "<br/>"); 
    }); 
}); 

。フォームで送信されたものは、接続されているすべてのクライアントにブロードキャストされます。

+0

ありがとう、私は開発者用ツールの使用について知っていたはずです。私はちょうどエラーをすぐに示すコンパイルされた言語に慣れています。私は本当にあなたの助けに感謝します。 – user2411290

+0

@ user2411290 - Javascriptはコンパイルされた言語とは異なり、習慣を変更する必要があります。開発/テスト中は、デバッグコンソール(クライアントとサーバーの両方)を常に見ていますが、一般的に動作しているように見えても、何かが捜査に行く必要がありません。そして、もちろん、何かが適切に動作していないときは、それが手がかりを探す最初の場所です。 – jfriend00

関連する問題