Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

112
Visualizações
I am getting undefined from express. Why req.body is showing empty object {}?

This is noob question but I am new to it. Req.body is undefined. I tried without body-

parser and with body-parser, I keep getting the same result I tried all solutions

available in StackOverflow but I keep getting the same result.

This is my client side code:

document.addEventListener("DOMContentLoaded", () => {
            document.getElementById('send').addEventListener('click', (e) => {
                var message = { name: document.getElementById('name').value, message: document.getElementById('message').value }
                postMessages(message)
            })
            getMessages()

        });
        function addMessages(message) {
            const ele = document.getElementById('messages')
            const h4 = document.createElement('h4')
            const p = document.createElement('p')
            h4.textContent = `${message.name}`
            p.textContent = `${message.message}`
            ele.append(h4, p)
        }
        function postMessages(message) {
            const Url = "http://localhost:3000/messages"
            fetch(Url, {
                method: 'POST',
                body: message,
            })
        }

And this is my NodeJs code:

var express = require('express')
var bodyParser = require('body-parser')
var app = express()

app.use(express.static(__dirname))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
var messages = [
    { name: "Tim", message: "Hi" },
    { name: "Jane", message: "Hello" }
]
app.post('/messages', (req, res) => {
    console.log(req.body)
    messages.push(req.body)
    res.sendStatus(200)
})

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

You need to change your fetch function and first JSON.stringify your message and then add correct headers:

function postMessages(message) {
        const Url = "http://localhost:3000/messages"
        fetch(Url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(message),
        })
    }
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda