套接字或Ajax.我应该用什么

Sockets or Ajax. What should I use?

本文关键字:什么 我应该 Ajax 套接字      更新时间:2023-09-26

我想要什么

我想使用Nodejs创建一个登录脚本。目前我正在考虑使用套接字或ajax帖子。

我所拥有的

我已经安装了Nodejs,并使用了这段代码。

我尝试了什么

我从一篇简单的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 truesocket.send(true)吗?

有人有同样的问题吗?或者也许是我问题的解决方案?

谢谢!!

好吧,伙计,闻起来它不会是你从客户端调用的唯一函数。所以你应该开始设计你的API。

如果您从客户端发送JSON,那么从服务器最光荣的事情就是返回JSON。我会用socket.send.

基本的OK响应如下所示:

{ "Status" : true }

基本错误响应如下所示:

{ "Status" : false, "Message": "Login or password not valid" }

如果将来您需要将数据返回到客户端,那么可能会使用相同的基本实体,您只需要向其添加更多属性并在客户端中读取即可。

{ "Status" : true, Data: { /* data here */ } }
相关文章: