2017-06-23 11 views
0

未解決の関数またはメソッドget()。get()メソッドまたは関数

私はjsとノードで新しく、ソケットを使用してチャットをしようとしているうちにこれに悩まされました。ここでは、コードは次のとおりです。

の.js

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

server.listen(8888); 

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); 
    }); 
}); 

.htmlを

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>glupi chat</title> 
    <style> 
     #chat{ 
      height: 500px; 
     } 
    </style> 
</head> 
<body> 
    <div id="chat"></div> 
    <form id="send-message"> 
     <input size="35" id="message"> 
     <input type="submit"> 
    </form> 

<script src='jquery-3.2.1.js'></script> 
<script src="/socket.io/socket.io.js"></script> 
<script> 
    $document.ready(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> 
</html> 

私はのIntelliJ IDEAを使用しています、私は私がインストールされている必要があり、すべてのモジュールやライブラリを持っています。

+0

エラースタックトレースを送信してください。 – Nevertheless

+0

ブラウザまたはノードコンソールにエラーがスローされていますか? –

+1

何が問題なのですか?私たちにコードを示しても、どこに行き詰まっているのか正確に教えてはいけません。デバッグ情報は含まず、欲しいものを正確に教えてください。 – jfriend00

答えて

0

あなたがこれで指定したファイルはjQueryのためのルートを持っていないことが表示されます:

<script src='jquery-3.2.1.js'></script> 

Aはnodejs特急サーバーは、デフォルトではない、サーバーのファイルを行い、あなたの静的ファイルの汎用ルート持っていない限り、そのjQueryファイルの特定のファイルを使用している場合、エクスプローラ・サーバーは、ブラウザがファイルを要求したときにそのファイルをどのように配信するかを知りません。 jQueryのための公共のCDNの一つを指すようにあなたのWebページ内のスクリプトタグ内

  1. 変更jQueryのURL:

    は、あなたはそれを修正する方法にはいくつかの可能な選択肢があります。これにはパフォーマンス上の利点があります。たとえば、<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>に変更できます。

  2. サーバ上でexpress.static()を使用して、ブラウザが要求したときに自動的にエクスプレスで自動的に配信される静的資産のディレクトリを設定します。

  3. that responds to the/`リクエストをGET(... '/'、)あなたが存在するapp.getで行ったようjQueryのファイルの特定のルートを作成します。

関連する問題