2016-06-18 8 views
0

は、私は、サーバーからクライアントにデータを送信しようとしているので、私はこの小さなプログラムを書いた: server.js:nodejsのソケットを使用してサーバーから受信したデータを読み取る方法は?

var http=require("http"); 
var express=require("express"); 
var app=express(); 
var server=http.createServer(app); 
var io=require("socket.io")(server); 
var path=require("path"); 


server.listen(4000,function(){ 
    console.log("server listen on port 4000"); 
}); 




app.set('views',path.join(__dirname,'views')); 
app.set('view engine','ejs'); 


app.get("/",function(req,res,next){ 

    res.render('client'); 

}); 

io.sockets.on("connection",function(socket){ 


    socket.emit("message","hello"); 
}) 

client.ejs:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"/> 
<title>test</title> 
</head> 
<body> 
<label class="label1">Name</label> 

<script src="socket.io/socket.io.js"></script> 
<script> 
var socket=io.connect(); 

socket.on("message",function(message){ 


    $('.label1').text(message); 
}); 
</script> 
</body> 
</html> 

私は私のサーバーを実行します私のプログラムをテストすると、ラベルの値は変わっていません。私のミスは何ですか?

+0

jQueryをインポートしていません... – slugonamission

+0

jQueryを追加する必要がありますか? –

+0

あなたはjQueryクエリ構文( '$( '。label1')')を使用しています。そうです。 – slugonamission

答えて

1

あなたは($('.label1')$はjQueryのです)、あなたのHTMLでのjQueryを使用すると、あなたはjQueryライブラリを追加する必要があります。

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"/> 

<title>test</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
</head> 
<body> 
<label class="label1">Name</label> 

<script src="socket.io/socket.io.js"></script> 
<script> 
var socket=io.connect(); 

socket.on("message",function(message){ 


    $('.label1').text(message); 
}); 
</script> 

</body> 
</html> 

はまた、何かがうまくいかないとき、見て、ということをお勧めしコンソール(F12)を開き、エラーを理解してください。

関連する問題