簡體   English   中英

如何通過點擊事件與Node.js服務器通信?

[英]How to communicate with a Node.js server via a click event?

來自純粹的前端背景,每當DOM中的元素發生單擊時,我都會監聽該單擊並調用一些函數來執行某些操作。

例如,如果我單擊帖子上的收藏夾圖標,則可以調用一個函數將該帖子推送到收藏夾數組中。 但這純粹是在客戶端,並且此類數據未存儲在某些數據庫中(也許僅存儲在某些本地存儲中)。

我的問題是,在像Node.js這樣的服務器環境中,如何處理鼠標事件/按鍵事件並在服務器中調用一個函數來執行某些操作(例如,將某些內容存儲到數據庫中)? 這是否意味着在我的示例中單擊“收藏夾”圖標后,實際上需要執行POST請求嗎?

這是否意味着在我的示例中單擊“收藏夾”圖標后,實際上需要執行POST請求嗎?

對,就是這樣。 客戶端和服務器是在完全獨立的上下文中運行的兩個完全獨立的應用程序,從根本上講彼此之間沒有任何關系。 要中繼該數據,您必須以某種方式通過網絡發送它。 您可以選擇HTTP,WebSockets或WebRTC。

HTTP是一個很好的選擇,您可以將其與XHR或客戶端上的Fetch API一起使用。 在服務器上,您將通過設置HTTP服務器並處理數據來接收這些HTTP請求。 Express是一個軟件包,可簡化此過程,但可以設置路由和其他一些有用的選項。

另外,請考慮客戶端上新的Beacon API。 https://developer.mozilla.org/zh-CN/docs/Web/API/Beacon_API這是一種發送跟蹤數據的更有效的方法,甚至可以在您的頁面上下文被破壞后使用。 也就是說,您可以准確地跟蹤某人何時退出您的頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM