我在節點中使用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裏包含空數據。
請寫在一個更可讀的格式。 –
你好阿曼我實際上不能給我的編輯權限允許添加更多的格式 –
請檢查它是否可讀嗎? –