如何将表单从HTML发布到Node.js文件

如何将表单从HTML发布到Node.js文件,node.js,Node.js,我有一个名为index.HTML的HTML文件,还有一个名为server.js和logic.js的Node.js文件 server.js负责创建服务器并加载index.html文件。HTML文件显示一个表单,请求执行任何操作(例如:username),然后将此数据发布到logic.js文件,该文件将打印此用户名 怎么可能呢? 谢谢 好吧,在没有看到任何代码或不知道正在使用什么框架的情况下,很难具体说明,但您会希望 在HTTP GET上呈现一些包含表单的HTML 这是最简单的部分。只需编写一个

我有一个名为index.HTML的HTML文件,还有一个名为server.js和logic.js的Node.js文件

server.js负责创建服务器并加载index.html文件。HTML文件显示一个表单,请求执行任何操作(例如:username),然后将此数据发布到logic.js文件,该文件将打印此用户名

怎么可能呢?
谢谢

好吧,在没有看到任何代码或不知道正在使用什么框架的情况下,很难具体说明,但您会希望

  • 在HTTP GET上呈现一些包含表单的HTML
    • 这是最简单的部分。只需编写一个简单的文档,其中包含a和一些标记。我假设您已经有了一些web服务器来执行此操作
  • 倾听POST请求。
    • 这与GET不同,您的服务器可能有不同的功能来处理该请求(因为逻辑不同)
  • 处理POST请求
    • 在这里,您只需要从POST数据中提取名称并打印它(或者执行任何您想要的操作)
我建议使用,因为您可能不想编写处理web服务器的所有代码。使用此框架,呈现HTMl非常简单

app.get("/", function(request, response) { res.send(some_html); });
app.post("/endpoint", function(request, response) { console.log(request.query.name); });
而处理这一职位将非常简单

app.get("/", function(request, response) { res.send(some_html); });
app.post("/endpoint", function(request, response) { console.log(request.query.name); });
编辑:为了回答您的问题,在不同的文件中展开处理多个页面的逻辑并不难。我通常会使用一个server.js来设置所有内容,然后包含处理其他页面逻辑的其他文件

例如,如果您的应用程序的布局如下

server.js
/modules/
/modules/index.js
/modules/user.js
/modules/posts.js
public/index.html
public/user.html
public/posts/html
js将包含modules目录中的所有文件,其中一个可能看起来像

index.js user.js post.js
实际上我不使用expressjs,但我想我会的。我可以知道这些代码行是在一个文件中编写的,还是可以通过多个文件分发的。我只是根据您的评论编辑了我的答案。我希望我明白你的意思。一般来说,我会尝试采用我的应用程序的逻辑,并采用特定于处理应用程序某个部分的部分,并将其放入一个与其他文件不同的文件中。Node并不总是让commonjs模块系统变得容易,但是一旦您看到一些好的设计模式,它就会变得容易得多。我建议大家看看github上的一些好的节点项目,看看它们是如何处理项目中的依赖关系的。非常感谢。我希望我能不止一次投票支持你的答案
app.get("/post", function(req, res) {
render("post.html");
});