我正在使用 Express v^4.18.2,我有一些路由和控制器檔案以及一個帶有 post 方法的 html 表單。當我發帖時,我試圖讓服務器通過控制臺向我顯示請求中發送的 req.body,但我得到一個空物件。應該注意的是,我正在按照教程進行操作,并且是逐步進行的。對 Express 有更多了解的人可以告訴我發生了什么嗎?
路由.js
import { Router } from "express";
import dashBoardObject from "../Controller/DashboardsController.js";
import { DashboardContoroller} from "../Controller/DashboardsController.js";
const router = Router();
const { formDashboardController,
postFormDashboardController,
putDashboardContoller
} = dashBoardObject;
router
.get('/DashBoard', DashboardContoroller)
.get('/DashBoard/createdDasboard', formDashboardController)
router
.post('/DashBoard/createdDasboard', postFormDashboardController)
router
.put('/DashBoard/updateDashboard', putDashboardContoller)
export default router;
如您所見,在路由中,我嘗試破壞從控制器獲取的物件。
控制器.js
const dashBoardObject = {};
export const DashboardContoroller= (req, res) =>{
res.send(`indicators/Indicators`);
}
dashBoardObject.formDashboardController = (req, res) =>{
res.render(`indicators/Indicators`);
}
dashBoardObject.postFormDashboardController = (req, res) =>{
// let values = Object.values();
console.log(`request: ${req.body}`);
res.send(`<h3> CREATED! ?? ${req.body} </h3>`);
}
dashBoardObject.putDashboardContoller = (req, res) =>{
res.send(`<h3> UPDATED! ?? </h3>`);
}
export default dashBoardObject;
HTML
<div style="display: flex; flex-direction: column; justify-content: center;">
<div>
<form action="/DashBoard/createdDasboard" method="POST">
<div class="mb-2 row">
<label for="" class="col-sm-2 col-form-label">Titulo</label>
<div>
<input class="form-control" placeholder="Titulo" type="text" autofocus>
</div>
</div>
<div class="mb-2 row">
<label for="" class="col-sm-2 col-form-label">Titulo</label>
<div>
<input class="form-control" name="Title" placeholder="Titulo" type="text">
</div>
</div>
<div class="mb-2 row">
<label for="" class="col-sm-2 col-form-label">enviar</label>
<div>
<button class="btn btn-primary" >Actualizar</button>
</div>
</div>
</form>
</div>
這是我在瀏覽器中得到的:

uj5u.com熱心網友回復:
如果 req.body 為空,您應該在路由器頂部添加一個中間件:
router.use(express.urlencoded())
此外,要在 html 回應中正確顯示物件:
res.send(`<h3> CREATED! ?? ${JSON.stringify(req.body)} </h3>`);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/532902.html
標籤:html节点.js表示
上一篇:如何在json中提取字典中的資訊
下一篇:如何實時顯示API請求?
