无法读取未定义的 属性 'task'

Cannot read property 'task' of undefined

enter image description here我以前从未遇到过这个问题,但现在“req.body.task”不起作用,我不知道为什么会这样。

这是表格

<form action="/" method="POST">
    <div class="input-box">
        <input type="text" name="task" id=""  class="input-add">
        <button type="submit" name="button" class="btn-add">+</button>
    </div>
</form>

这是 post 请求

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

const app = express();
app.set(bodyParser.urlencoded({extended: false}));

app.use(express.static("public"));

let items = [];

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

app.post("/", (req,res) => {
    const item = req.body.task;
    console.log(item);
    
});

app.listen(3000, () => {
    console.log("Server running at port 3000");
    
});

这个

app.set(bodyParser.urlencoded({extended: false}));

应该是

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

BodyParser 是一个中间件,应该使用 app.use 方法。 有关详细信息,请参阅 docs

app.set 用于为应用程序变量设置值,例如视图引擎