0
我想從我的server.js發出一個套接字並在我的index.html中處理它。 這裏是我的server.js代碼:通過nodejs套接字進行通信(從服務器到index.html)
io.sockets.on("connection",function(socket){
socket.on("send",function(data){
mongodb.connect("mongodb://127.0.0.1:27017/myDatabase",function(err,db){
if(err) throw err;
var to_be_inserted = {name: data.name,content: data.content};
db.collection("chat").insert(to_be_inserted,function(err,objects){
if(err) throw err;
var cursor = db.collection("chat").find();
cursor.toArray(function(err,docs){
socket.emit("data_to_be_printed",docs);
});
});
})
})
})
index.html中我只是試着提醒每當插座被emmited:
socket.on("data_to_be_printed",function(cursor){
alert("at least this works");
});
但是我沒有驚動。 find()方法在我的控制檯中至少返回5個對象。
UPDATE 發送套接字確實發射並且數據確實插入到數據庫中。唯一的問題是,data_to_be_printed插座是沒有得到emmited
UPDATE 我index.html中創建的套接字的方法是:
<script src="http://127.0.0.1:1337/socket.io/socket.io.js"></script>
<script>
var socket = io.connect("127.0.0.1:1337");
</scrip>
當你發射時,它是否在我們的服務器控制檯上打印相同的東西(事件名稱和數據)?以及你是如何在索引文件中創建套接字連接的?該代碼將有助於更多。 – Pranav
@Pranav我添加了在index.html中創建套接字的代碼。我不確定你打印的意思。讓我知道我是否可以獲得更多信息 – Bula