【问题标题】:Using NodeJS functions in html在 html 中使用 NodeJS 函数
【发布时间】:2020-07-23 17:50:18
【问题描述】:

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

【问题讨论】:

    标签: node.js api dom xmlhttprequest backend


    【解决方案1】:

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

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

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

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

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

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

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

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

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

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

    【讨论】:

    • 感谢您的帮助,这是对我的问题的一致且清晰的解释。但是,如何进行注册,首先发送未填充的索引文件,然后检索后在同一服务器上执行代码以获取值,然后将其发送到数据库?我正在使用常规的 html/css 和 nodejs,如果 ajax 解决了这个问题,那么如何调用一组指令来从 nodejs 的函数中获取值
    • @NevadaFlorenzo - 注册数据将在您的网页中以表格形式出现。当用户填写并点击“提交”或“注册”时,浏览器会将表单中的数据发送到您的服务器,即所谓的 POST 请求到表单中指定的特定 URL。您的服务器必须有适当的请求处理程序来接收该 URL,获取来自表单的数据,然后代表用户执行任何适当的操作,然后最终发回浏览器将显示的响应。您可以在后端阅读有关表单和帖子的更多信息。
    猜你喜欢
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多