Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Express中收到POST请求时登录_Javascript_Html_Node.js_Express_Post - Fatal编程技术网

Javascript 在Express中收到POST请求时登录

Javascript 在Express中收到POST请求时登录,javascript,html,node.js,express,post,Javascript,Html,Node.js,Express,Post,我最近开始使用Express framework学习Node.js。我创建了一个简单的服务器,并附加了一个HTML文件,其中的表单由一个类型为submit的按钮组成,该按钮用于向服务器发送post请求。它不会给我任何错误,但当我试图在按下submit按钮后将消息记录到控制台时,什么也没有发生。我很确定这与HTML表单语法有关,但我永远也不能太确定。以下是HTML: <html lang="en" dir="ltr"> <head> <meta charset

我最近开始使用Express framework学习Node.js。我创建了一个简单的服务器,并附加了一个HTML文件,其中的表单由一个类型为submit的按钮组成,该按钮用于向服务器发送post请求。它不会给我任何错误,但当我试图在按下submit按钮后将消息记录到控制台时,什么也没有发生。我很确定这与HTML表单语法有关,但我永远也不能太确定。以下是HTML:

<html lang="en" dir="ltr">
 <head>
   <meta charset="utf-8">
   <title>Test</title>
 </head>
<body>
  <form class="test" action="http://localhost:8000/example" method="post">
    <input type="submit" name="but" value="Press me">
  </form>
</body>
</html>
改变这个

app.use("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
对此

app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
改变这个

app.use("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
对此

app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});

这是因为
app.use()
被视为应用程序的中间件。要正常工作,您应该使用
app.get()
。这是更详细的解释。另一种选择是将html作为静态内容提供,您可以了解更多

要正常工作,应将代码更改为:

app.get("/", (req, res) => {
  res.sendFile(__ dirname + "/index.html");
});
您还可以将HTML修改为:

<form class="test" action="/example" method="post">


因为它在同一个主机中。在对其他主机执行操作时,您只需使用完整的url。

之所以出现此情况,是因为
app.use()
被视为应用程序的中间件。要正常工作,您应该使用
app.get()
。这是更详细的解释。另一种选择是将html作为静态内容提供,您可以了解更多

要正常工作,应将代码更改为:

app.get("/", (req, res) => {
  res.sendFile(__ dirname + "/index.html");
});
您还可以将HTML修改为:

<form class="test" action="/example" method="post">


因为它在同一个主机中。在对其他主机执行操作时,您只需使用完整的url。

使用,
应用程序。使用(\uu dirname+“/”)
如果您希望它成为您的公共显示文件夹,请使用,
应用程序。使用(\uu dirname+“/”)
如果您希望它成为您的公共显示文件夹,我可以设法使它不将我转移到另一页f。E示例,它只是因为我认为它可以解决问题,但它没有,我想保留当前页面。这又是如何解决我的问题的呢?我能不能让它不把我转到另一页f。E示例,它只是因为我认为它可以解决问题,但它没有,我想保留当前页面。这又是如何解决我的问题的呢?