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