加入一个房间效果很好 会显示一个朋友列表,点击后会打开一个新页面,供个人朋友聊天
<table>
<tr>
<th>Name</th>
</tr>
{{#each friends}}
<tr>
<td><a href="/chat?name={{this.profileName}}">{{this.profileName}}</a></td>
</tr>
{{/each}}
</table>
然后在socket.io所在的聊天服务器js上
socket.join(chatTable);//joining a room ! where problem rises
io.sockets.in(chatTable).emit('db chat message',rows);
然后在web端
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
以及在jquery部分上
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val()='';
return false;
});
当调用加入房间时。。。页面被刷新,url参数(name(消失,socket.io断开连接并重新连接。
我假设chatTable
变量是一个字符串。
使用event.preventDefault()
:
$('form').submit(function(event) {
event.preventDefault();
socket.emit('chat message', $('#m').val());
$('#m').val("");//$('#m').val()=' ' ; does not work
});
此外,检查插座。IO备忘单以及文件室和命名空间的文档。