簡體   English   中英

類型錯誤:當我按下發布請求的提交按鈕時無法讀取未定義的屬性(讀取“名稱”)

[英]TypeError: Cannot read properties of undefined (reading 'name') when I press the Submit Button for post request

當我單擊提交以在 MongoDB 上發布條目時,它給我這個錯誤 MongoDB 也已連接到服務器。

這是我的路由器文件

const express = require('express');
const Club  = require('../models/club')
const Router = express.Router();


Router.get('/', (eror,res)=>{
    res.render('index')
})

Router.post('/form', (req,res)=>{
    const name = req.body.name;

   console.log(name);
})

module.exports = Router;

這是我的表格

<form action="/form" method="post">
 <input type="text" name="name" placeholder="Add an Entry">
 <input type="submit" value="Submit">
</form>

我嘗試了一切,但它不會工作

我們必須添加中間件來解析請求體。 在你的情況下:

Router.use(express.urlencoded({ extended: true }))

根據您的 Express 版本,您可能需要在處理程序之前使用bodyParser中間件

const express = require('express');
var bodyParser = require('body-parser')

const app = express();
app.use(bodyParser.urlencoded());
...

在你的 app.js 文件中你需要添加一個中間件來解析數據,你不需要在當前的 express 版本中安裝 bodyParser 他們已經集成了這個功能,你只需要添加這個:

const express = require('express');
const app = express();
...
app.use(express.urlencoded({ extended: true }));  // this line for your case

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM