当我通过hoppscotch发出补丁请求时,它给出reqbodycontent:未定义,而用户名和id打印正常

问题描述 投票:0回答:1
const express = require("express");
const app = express();
const path = require("path");
let port = 8080;
const { v4: uuidv4 } = require('uuid');
app.use(express.urlencoded({extended: true}));
app.set("views engine","ejs");
app.set("views",path.join(__dirname,"views"));
app.use(express.static(path.join(__dirname,"public")));
let posts =[{ id: uuidv4(),username : "Naved",content  : "I love coding",},{id: uuidv4(),username :"Noman",content  : "I love studying",},{id: uuidv4(),username : "Saimoon",content:"Ilovecooking",}] ;
app.get("/posts",(req,res)=>{
    res.render("index.ejs", {posts});
});
app.get("/posts/new",(req,res)=>{
    res.render("new.ejs")
})
app.post("/posts",(req,res)=>{
let {username,content} = req.body;
let id = uuidv4();
posts.push({id,username , content});
res.redirect("/posts");
})
app.get("/posts/:id",(req,res)=>{
    let { id } = req.params;  
    let post = posts.find ((p)=> id===p.id);
    res.render("show.ejs" ,{post})
})
app.patch("/posts/:id",(req,res)=>{
    let { id } = req.params;
    let newContent = req.body.content ;
    let post = posts.find ((p)=> id === p.id);
    post.content = newContent;
    console.log(post);
    res.send("patch request send succesfully");
})
app.listen(port,()=>{
    console.log(`app is listening at the port ${port}`);
});

index.js

我认为 req.body.content 中存在问题,当我删除内容时,会打印空 = {} 字符串,但当我写入 req.body.content 时,它显示未定义

javascript node.js express
1个回答
0
投票

找到原因了吗??我被困在同一点!!

© www.soinside.com 2019 - 2024. All rights reserved.