NodeJS 如何修复无法POST/index.html错误?

vpfxa7rd  于 2023-03-29  发布在  Node.js
关注(0)|答案(1)|浏览(263)

下面是HTML和Javascript的计算器应用程序的示例。
当我用nodemon执行程序,访问localhost:3000,并按下提交按钮时,错误显示在浏览器(Google Chrome)上。

[nodemon] starting `node calculator.js`
Server started on port 3000.

错误消息

执行程序时没有错误,那么我如何找到修复点呢?

Cannot POST /index.html

编号
index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1>Calculator</h1>
    <form action="/" method="post">
        <input type="text" name="n1" placeholder="First Number">
        <input type="text" name="n2" placeholder="Second Number">
        <button type="submit" name="submit">Calculate</button>
    </form>
    
</body>
</html>

calculator.js

const express = require("express");
const bodyParser = require("body-parser");

const app = express();
app.use(bodyParser.urlencoded({extended: true})); //store the numbers in the forms

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

app.post("/", function(req, res){

    var num1 = Number(req.body.n1);
    var num2 = Number(req.body.n2);
    console.log(num1, num2); //no results shown

    var result = num1 + num2;
    res.send("The result of the calculation is " + result);
});

app.listen(3000, function(){
    console.log("Server started on port 3000.");
});
sr4lhrrt

sr4lhrrt1#

我已经测试了代码,似乎没有什么问题。
一些原因可能不适合你:
1.可能已关闭VSCode中的自动保存
1.应用程序可能会干扰您的代码(已知某些浏览器扩展会导致这种情况)
1.路径有问题。
自动保存可以通过转到File,然后检查Auto Save来重新打开。为了验证路径没有问题,您可以编辑您的问题以包含目录的图像,以便我们可以进一步帮助您。

相关问题