Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

675
Views
node.js / express, el cuerpo de la solicitud es nulo

learning express y, por alguna razón, el cuerpo de mi solicitud es NULL para ambos parámetros

mi archivo completo para index.js:

 const express = require('express') const bodyParser = require('body-parser') const app = express() const port = 3000 const db = require('./queries') app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: true })); app.get('/',(request, response) => { response.json({info: 'express and postgresapi'}) }) app.post('/users', db.createUser) app.listen(port, () => { console.log(`App running on port ${port}.`) })

y mi archivo de consultas donde estoy haciendo el POST

 const Pool = require('pg').Pool const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'chatDb', password: 'password1', port: 5432, }) const createUser = (request, response) => { const { name, email } = request.body console.log(request.query); pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [name, email], (error, results) => { if (error) { console.log(request.body) throw error } response.status(201).send(`User added with ID: ${results.insertId}`) })

}

así que esto realmente SÍ se publica, pero cuando miro las filas en mi base de datos son como

 ID name email 20 NULL NULL

mi curl es curl --data "name=Elaine&email=elaine@example.com" http://localhost:3000/users

también, el resultado de console.log(request.query); es {}

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Oye, necesitas pasar un objeto si estás usando cartero

 { "name":"your name here", "email":"email that you want" }

Espero que esto ayude

over 4 years ago · Santiago Trujillo Report

0

  1. Si está enviando parámetros de solicitud como parámetros, use -
 const createUser = (request, response) => { const { name, email } = request.query; pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [name, email], (error, results) => { if (error) { console.log(request.body) throw error } response.status(201).send(`User added with ID: ${results.insertId}`) })
  1. Si está enviando parámetros de solicitud dentro del cuerpo, use:
 const createUser = (request, response) => { const { name, email } = request.body; pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [name, email], (error, results) => { if (error) { console.log(request.body) throw error } response.status(201).send(`User added with ID: ${results.insertId}`) })

** puede abrir su cartero y obtendrá dos opciones Params y Body Options. Si selecciona Cuerpo, envíe el cuerpo de la solicitud utilizando el formato urlencode o json porque agregó el analizador de cuerpo:

 app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: true }));
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!