Estoy usando express js pero, por alguna razón, el servidor está registrando un objeto vacío {}
en lugar de la cadena JSON real que envié. He trabajado con tantas otras tecnologías como el matraz, esto no tiene sentido.
Código:
function upload () { fetch("http://localhost:8080/chat", { method: "POST", body: JSON.stringify({ name: "Deska", email: "deska@gmail.com", phone: "342234553" }) }).then(result => { // do something with the result console.log("Completed with result:", result); }).catch(err => { // if any error occured, then catch it here console.error(err); }); }
app.post('/chat', function(req, res) { let test = req.body; console.log(test); }
En la función "cargar" no obtengo nada registrado, y en el servidor, obtengo el objeto vacío {}
que mencioné.
Si quieres saber mi problema, agradecería ayuda.
Gracias.
ACTUALIZAR:
La cuestión debe estar en prontend, ya que el envío de la solicitud de correos con obras de cartero.
Creo que el error podría estar ocurriendo porque falta el encabezado Content-Type
. Podrías intentar esto:
function upload () { fetch("http://localhost:8080/chat", { headers: { 'Content-Type': 'application/json', }, method: "POST", body: JSON.stringify({ name: "Deska", email: "deska@gmail.com", phone: "342234553" }) }).then(result => { // do something with the result console.log("Completed with result:", result); }).catch(err => { // if any error occured, then catch it here console.error(err); }); }
También debe asegurarse de que en su servidor esté utilizando el middleware express.json
, de esta manera:
app.use(express.json());