2016-06-18 27 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

,正如你在HTML使用jQuery($('.label1')$是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)並理解錯誤。

相關問題