【发布时间】:2016-01-24 03:19:07
【问题描述】:
我正在使用 node.js 及其 socket.io 模块构建一个简单的登录系统。 我完成了身份验证部分,即使用 MongoDB,我现在可以确定尝试登录的用户是真实的还是虚假的。 在这个阶段,当我找到真正的登录时,我需要将客户端重定向到不同的页面(index.html)。但是,由于未发送请求并且不希望使用 socket.io 事件做出响应,因此我无法使用 response.setHeader(...); 因为我的回调函数中没有“响应”参数。这是我的代码:
在客户端:
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket=io();
$('form').submit(function(){
var un=$('#un').val();
var pw=$('#pw').val();
socket.emit('login',un,pw);
return false;
});
</script>
在服务器端,
var app=require('express')();
var server=require('http').Server(app);
var io=socket(server);
io.on('connection',function(client){
client.on('login',function(username,pw){
//if authenticated, direct the client to index.html
});
});
谁能建议任何方法来做到这一点?
【问题讨论】:
标签: javascript node.js socket.io