【问题标题】:How to execute javascript functions in client-side in browsers with Node-JS? [closed]如何使用 Node-JS 在浏览器的客户端执行 javascript 函数? [关闭]
【发布时间】:2019-05-20 08:30:39
【问题描述】:

我正在尝试使用 node-JS 在 client-side 中执行 javascript 代码,我想在用户或密码错误时执行 alert登录网站。在客户端代码中执行 javascript 甚至可以为我的网站设置动画。我怎么做?

我尝试使用 npm alert-node、npm js-alert 和 npm popups,但这些模块不起作用(没有人提到)。真的,我认为如果我只想创建带有“错误记录,重试”消息的警报,则不需要这些模块。

如果可能的话,你能给我一个教程来解释如何在 node js 的客户端执行 javascript? 我使用 expressEJS引导程序。谢谢。

【问题讨论】:

  • 实现此目的的一种方法是创建一个包含 javascript <script>alert('hello')</script> 块的 html 页面。然后,当用户点击节点服务器上的端点时,将该 html 页面加载到用户的浏览器中。这是一个带有相当简单示例的链接:scotch.io/tutorials/use-expressjs-to-deliver-html-files
  • 好吧,想象一下您正在使用 PHP。使用 PHP 时如何让 javascript 在客户端浏览器上执行?

标签: javascript node.js


【解决方案1】:

你不能,就其本身而言。

您有两个不同的程序在两台不同的计算机上运行。它们是用相同的编程语言编写的这一事实是无关紧要的。

你能得到的最接近的方法是编写一些客户端 JavaScript,当它通过网络接收到消息时显示警报,以及一些服务器端 JavaScript,它们将在适当的时间发送该消息。

标准 HTTP 是一种无状态的客户端-服务器协议,因此您必须轮询(例如,使用 fetch API)服务器,以便它可以在适当的时间响应消息。

一种更有效但更复杂的方法是使用 WebSockets 而不是 HTTP,以便服务器和触发消息。

【讨论】:

  • 老实说,我认为问题远不止于理解如何执行 AJAX 请求。我认为问题在于对客户端与服务器以及它们各自的作用没有基本的了解。从问题中的 OP 状态来看,根本不需要后端(例如,alert-something 模块与后端无关)
【解决方案2】:

你不能直接这样做。

你能做的就是向服务器发出请求(XHR),并根据节点服务器的响应有条件地在客户端执行一个函数。 node和浏览器之间没有直接的执行路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 2021-08-04
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2020-09-20
    相关资源
    最近更新 更多