我想使用Nodejs创建一个登录脚本。目前我正在考虑使用套接字或ajax帖子。
我已经安装了Nodejs,并使用了this code。
我从简单的Ajax帖子开始。我为此使用了jQuery,并将表单序列化。这有效,但有时它有一些延迟或很慢。
所以我想也许套接字是与服务器通信并返回客户端的更好方式。
现在我遇到了我不能再使用serialize()
的问题了(该死的我喜欢serialize()
功能)。
所以现在我必须在我的客户端使用json,获取2个输入值(电子邮件和密码),创建一个名为obj
的对象,添加值并使用socket.emit('login', JSON.stringify(obj, null, 2))
在我的服务器中我有
socket.on('login', function(data){
data = JSON.parse(data)
if(data.email === 'em@il.com' && data.password === 'secret')
// return true
// return false
})
现在问题是我无法让我的客户知道凭证是否正确。
我可以通过使用另一个emit
来做到这一点,但我认为这会超载。
我不能只使用return true
或socket.send(true)
吗?
有人有同样的问题吗?或者也许解决我的问题?
谢谢!
答案 0 :(得分:3)
嗯,伙计,它闻起来不会是你从客户那里打来的唯一功能。所以你应该开始设计你的API。
如果您从客户端发送JSON,那么从服务器做的最值得尊敬的事情就是返回JSON。我会使用socket.send。
基本的OK响应如下所示:
{ "Status" : true }
基本错误响应如下所示:
{ "Status" : false, "Message": "Login or password not valid" }
如果您将来需要将数据返回给客户端,则可能会使用相同的基本实体,您只需要为其添加更多属性并在客户端中读取它。
{ "Status" : true, Data: { /* data here */ } }