io.sockets.mit未向服务器发送消息
io.sockets.emit not sending msg to server
我正在开发一个用户登录应用程序,当一些用户登录时,尝试io.sockets.emit("userLogin", "some msg");
,但不知何故,服务器无法收到消息。
服务器app.js:
app.post('/sessions', function(req, res) {
user.authenticate(req.body.login, req.body.password, req.body.role, function(user) {
if (user) {
req.session.user = user;
console.log("correct");
io.sockets.emit("userLogin", "some msg");
res.redirect('/add_users');
} else {
console.log("wrong");
res.render('sessions', {locals: {
redir: req.body.redir
}});
};
});
});
客户登录。翡翠:
html
head
script(src='jquery-1.7.1.js')
script(src='http://localhost:3002/socket.io/socket.io.js')
script(type='text/javascript')
var socket;
socket = io.connect('http://localhost:3002');
socket.on('userLogin', function(user) {
console.log("userLogin: ", user)
});
$(function() {
$("button").click(function() {
$.post("/sessions", {
time: (new Date).toLocaleTimeString(),
date: (new Date).toLocaleDateString()
});
});
});
body
h1 Login
form(action='/sessions', method='post')
input(type='hidden', name='redir', value='redir')
p
lable(for='login') Login:
input(type='text', name='login', id='login')
p
lable(for='password') Password:
input(type='text', name='password', id='password')
p
button Login
有趣的是,我在一个app.get()
函数中有另一个emit,客户端代码类似,这很有效。所以我怀疑这与这个app.post()
有关?感谢您的帮助,提前感谢!
提交表单会触发页面重新加载,从而断开socket.io的连接。您应该使用event.preventDefault来避免这种情况。
$("button").click(function(event) {
event.preventDefault();
$.post("/sessions", {
time: (new Date).toLocaleTimeString(),
date: (new Date).toLocaleDateString()
});
});
相关文章:
- 大气:服务器收到消息
- 如何在服务器控制台上打印前端日志消息
- 如何将错误消息从 meteor 服务器传递到客户端
- 服务器无法从客户端获取消息
- io.sockets.mit未向服务器发送消息
- 如何使用angular js在表单上显示服务器端验证错误消息
- 流星消息格式服务器端翻译
- php函数向XMPP服务器发送消息,不提供日志;不起作用
- 在从websocket服务器推送消息后更新$scope变量
- 实时接收来自服务器的消息(数据库-MySQL,前端-Angularjs)
- Nodejs-websocket:如何在没有服务器响应的情况下连续发送客户端消息
- 如何只在收到服务器的回复消息后显示DIV
- 正在读取angularjs中的HTTP服务器标头响应消息
- C#/ASP-web,ASP:在客户端执行复选框消息框,如果是,则运行服务器端代码
- 服务器错误消息的正确正则表达式
- 在服务器上压缩JSON消息,在客户端解压缩
- 返回并重新加载页面时显示不需要的服务器端警报消息
- 服务器到服务器套接字IO消息
- 我可以使用jquery和AJAX来调用cgi-bin脚本,然后添加消息事件来处理服务器发送事件吗
- 如何接收来自Vert的websocket消息.x服务器的Javascript