首页 > 解决方案 > 在 html 中使用 NodeJS 函数

问题描述

所以我在 NodeJS 中做了一个后端,但我遇到了一个问题,如何将我的后端链接到我的前端 html/css 页面并将我的 NodeJS 函数用作脚本?

标签: node.jsapidomxmlhttprequestbackend

解决方案


如果您不清楚这一点,您的 nodejs 后端将在您的服务器上运行。服务器的工作(在 webapp 中)是将数据传递给浏览器。它提供 HTML 页面。它提供在那些 HTML 页面中引用的资源,例如脚本、图像、字体、样式表等。它还可以回答对数据的编程请求。

这些网页中的脚本在浏览器中运行,几乎总是(除了一些开发人员测试场景)在完全不同的本地网络上的完全不同的计算机上运行(仅通过某个网络连接 - 通常是互联网)。

因此,浏览器中的脚本不能直接引用服务器中存在的变量或调用服务器上存在的函数。它们是完全不同的计算机。

为了解决此架构限制,您可以做的事情如下:

  1. 服务器可以动态修改它发送给浏览器的网页,并且可以将数据插入到该网页中。该数据可以是已经呈现的 HTML 的形式,也可以是您的网页 Javascript 可以使用的脚本标签内的变量。

  2. 网页中的 javascript 可以向您的服务器发出网络请求,要求它提供数据。这些通常称为 AJAX 调用。在这种情况下,您页面中的某些 Javascript 向服务器发送请求以检索某些数据或在服务器上执行某些操作。服务器接收该请求,执行所需的操作,然后将结果返回给在浏览器中运行的客户端 Javascript。该客户端 Javascript 接收结果,然后可以对其进行操作,将数据插入页面,使浏览器转到新网页,提示用户等......

网页 javascript 可以通过其他一些方式与服务器通信,例如 webSocket 连接,但我们暂时将它们放在一边,因为它们只是发生远程通信的更多方式 - 通信的结构并不真正改变。

如何将我的后端链接到我的前端 html/css 页面并将我的 NodeJS 函数用作脚本?

您不能直接将您的 nodejs 函数用作前端的脚本。您可以对服务器进行 Ajax 调用,并要求服务器代表您执行它自己的服务器代码,以执行某些操作或检索某些数据。

如果合适,您还可以将脚本插入网页并直接在浏览器中运行 Javascript,但您是否可以针对您的特定情况执行此操作完全取决于脚本在做什么。如果脚本正在访问某些只能从服务器获得的资源(如数据库或服务器存储系统),那么您将无法在浏览器中运行这些类型的脚本。您将不得不使用 ajax 调用来要求服务器为您运行它们,然后检索结果。


推荐阅读