【问题标题】:Having an issue with processing post request in node.js在 node.js 中处理发布请求时遇到问题
【发布时间】:2021-06-08 20:19:41
【问题描述】:

在 node.js 中处理 post 请求时出现问题,并显示错误:Cannot POST /index.html 由于不推荐使用 body-parser,因此我遇到了这个错误

const express = require("express");

const app = express();
app.use(express.json({ limit: '50mb' }));

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

app.post("/", function(req, res){
  var num1 = Number(req.body.num1);
  var num2 = Number(req.body.num2);
  var result = num1+num2;
  res.send(String(result));
});

app.listen(3000, function(){
  console.log("Server is running on port 3000");
});
<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title></title>
</head>

<body>
  <h1>Calculator</h1>
  <form action="index.html" method="post">
    <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>

【问题讨论】:

    标签: javascript html node.js express


    【解决方案1】:

    我不明白。你对这些代码 sn-ps 有什么要求?

    由于不推荐使用 body-parser,所以我遇到了这个错误

    body-parser 现在是 Express 的一部分,您只需写信即可获得,

    app.use(express.urlencoded({ extended: false }));
    

    错误:无法发布 /index.html

    Express 抛出此错误的原因是,您没有匹配的 POST 路由。相反,您有 POST / 路由。我建议您将&lt;form&gt; 的操作更新为/ 而不是index.html

    <form action="/" method="post">
      <input type="text" name="num1" placeholder="First Number" />
      <input type="text" name="num2" placeholder="Second Number" />
      <button type="submit" name="submit">Calculate</button>
    </form>
    

    【讨论】:

    • 谢谢先生!现在效果很好。
    猜你喜欢
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    相关资源
    最近更新 更多