我在节点中使用express + ejs作为视图引擎。在通过套接字发送消息时遇到问题。我的主文件名 是index.js
,而查看文件是pages/messages
,即ejs 文件。我使用将套接字数据发送到nodejs中的特定ejs页面
app.get('/messages/:id', function(req,res) {
res.render('pages/messages');
});
io.sockets.on('connection', function(socket) {
socket.on('chat message', function(msg) { console.log(msg); socket.emit('chat message', msg);
});
});
以上代码我使用中即index.js主文件和下面的代码作为前端
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script> var socket = io();
$(document).ready(function()
{ $('form').submit(function(e){
alert('1');
e.stopPropagation();
e.preventDefault();
socket.emit('chat message', $('#m').val(), '');
$('#m').val('');
return false; });
socket.on('chat message', function(req, res){
$('#messages').append($('<li>').text(res));
}); });
</script>
<ul id="messages"></ul>
<form action="" >
<input id="m" autocomplete="off" /><button>Send</button>
</form>
后EMIT里包含空数据。
请写在一个更可读的格式。 –
你好阿曼我实际上不能给我的编辑权限允许添加更多的格式 –
请检查它是否可读吗? –