Я обнаружил эту ошибку при создании проекта с помощью express, может ли кто-нибудь сказать мне, где я ошибаюсь?

#node.js #express #backend

Вопрос:

При создании проекта регистрации с помощью express я обнаружил эту ошибку. Я не могу найти, где и в чем именно эта ошибка, поэтому, пожалуйста, помогите мне. И да, пожалуйста, игнорируйте этот текст, выделенный жирным шрифтом, так как stackoverflow не позволяет мне публиковать этот вопрос из-за очень малого количества информации и большого количества кода, поэтому я просто печатаю что угодно, чтобы я мог опубликовать свою проблему 😅 😁

код:-

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

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

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

app.post("/",function(req,res){

    var firstname=req.body.fname;
    var lastname=req.body.lname;
    var mail=req.body.email;

    console.log(firstname,lastname,mail);
})





app.listen(3000,function(){
    console.log('Server is running...');
    
})
 

ошибка :-

 TypeError: Cannot read property 'fname' of undefined
    at C:UsersADMINDesktopnewsletter-signUpapp.js:16:28
    at Layer.handle [as handle_request] (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterlayer.js:95:5)
    at next (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterroute.js:137:13)
    at Route.dispatch (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterroute.js:112:3)
    at Layer.handle [as handle_request] (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterlayer.js:95:5)
    at C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterindex.js:281:22
    at Function.process_params (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterindex.js:335:12)
    at next (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterindex.js:275:10)
    at serveStatic (C:UsersADMINDesktopnewsletter-signUpnode_modulesserve-staticindex.js:75:16)
    at Layer.handle [as handle_request] (C:UsersADMINDesktopnewsletter-signUpnode_modulesexpresslibrouterlayer.js:95:5)
 

Комментарии:

1. похоже, вы забыли зарегистрировать промежуточное программное обеспечение анализатора тела. Кстати, если вы используете полезную нагрузку JSON, просто добавьте app.use(express.json()) перед app.post(«/»