Javascript 服务器正在指向我的c:/目录,而不是消息

Javascript 服务器正在指向我的c:/目录,而不是消息,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我想做的是,当用户单击calculate按钮(还没有进行任何计算)时,它会将他们重定向到一个新屏幕,屏幕上会显示一条响应消息,上面写着“谢谢发布该消息!”。但它不会显示我的整个C:\目录,我觉得它与“/”作为路由有关,但在教程中,他们使用了“/”作为路由 这是我的index.html <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta char

我想做的是,当用户单击calculate按钮(还没有进行任何计算)时,它会将他们重定向到一个新屏幕,屏幕上会显示一条响应消息,上面写着“谢谢发布该消息!”。但它不会显示我的整个C:\目录,我觉得它与“/”作为路由有关,但在教程中,他们使用了“/”作为路由

这是我的index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>calculator</title>
  </head>
  <body>
    <h1>Calculator</h1>
    <form class="" action="/" method="post"> <!-- Send to home route-->
      <input type="text" name="num1" placeholder="First Number">
      <input type="text" name="num2" placeholder="Second Number">
      <button type="submit" name="submit">Calculate</button>
    </form>

  </body>
</html>

相对URL是从浏览器打开HTML文档的位置计算出来的

您从C:驱动器上的文件打开了它(可能是在Windows资源管理器中双击它),因此它被解析为C:驱动器的根目录

如果要将其解析为Express服务器托管的网站的根目录,则首先需要从服务器打开原始HTML文档

类型<代码>http://localhost:3000进入浏览器的地址栏

const express = require("express");
const app = express();

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


app.post("/", function(req,res){
  res.send("Thanks for posting that!");
});


app.listen(3000,function(req,res){
  console.log("server up");
});