如何通过点击事件与Node.js服务器通信?

时间:2018-07-09 17:31:25

标签: javascript node.js express

来自纯前端背景,每当DOM中的元素发生单击时,我都会监听该单击并调用某些函数来执行某些操作。

例如如果单击帖子上的收藏夹图标,则可以调用一个函数将该帖子推送到收藏夹数组中。但这纯粹是在客户端,这些数据没有存储在某些数据库中(也许仅存储在某些本地存储中)。

我的问题是,在像Node.js这样的服务器环境中,我该如何处理鼠标事件/按键事件并在服务器中调用一个函数来执行某些操作(例如,将某些内容存储到数据库中)?这是否意味着在我的示例中单击“收藏夹”图标时,我实际上需要执行POST请求?

1 个答案:

答案 0 :(得分:2)

  

这是否意味着在我的示例中单击“收藏夹”图标时,实际上需要执行POST请求吗?

是的。客户端和服务器是在完全独立的上下文中运行的两个完全独立的应用程序,从根本上讲彼此之间没有任何关系。要中继该数据,您必须以某种方式通过网络发送它。您可以选择HTTP,WebSocket或WebRTC。

HTTP是一个很好的选择,您可以将其与XHR或客户端上的Fetch API一起使用。在服务器上,您将通过设置HTTP服务器并处理数据来接收这些HTTP请求。 Express是一个软件包,可简化此过程,但可以设置路由和其他一些有用的选项。

此外,请考虑客户端上的新Beacon API。 https://developer.mozilla.org/en-US/docs/Web/API/Beacon_API这是一种发送跟踪数据的更有效的方法,甚至可以在您的页面上下文被破坏后使用。也就是说,您可以准确地跟踪有人何时退出您的页面。

相关问题