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

211
Views
A pesar de permitir todas las solicitudes de CORS, el cuerpo de mi solicitud se muestra vacío. ¿Porqué es eso?

Soy 90% esto es un problema de CORS, pero incluso después de seguir todos los consejos que encontré en línea, no he podido resolverlo.

Estoy tratando de hacer una solicitud POST desde mi interfaz (para hacer las cosas más rápido, acabo de hacer solicitudes desde la consola). Aquí hay una solicitud que estoy haciendo:

 fetch('http://localhost:4000/api/post', { method: 'POST', mode: 'cors', Headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({path: "meep"}) })

En mi aplicación Node/Express, estoy registrando en la consola el req.body, pero no obtengo nada a menos que envíe la solicitud desde Paw (alternativa de Postman).

Aquí está mi archivo index.js principal

 const express = require('express') const mongoose = require('mongoose') const routes = require('./routes/routes') const cors = require('cors') require('dotenv').config() const app = express() app.use(cors()); app.use(express.json()) app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Methods", "*") next(); }); const mongoString = process.env.DATABASE_URL const port = process.env.PORT || 4000 mongoose.connect(mongoString) const database = mongoose.connection database.on('error', (erorr) => { console.log(error) }) database.once('connected', () => { console.log('Database connected.') }) app.listen(port, () => { console.log(`Server listening at ${port}`) }) app.use('/api', routes)

Y aquí está mi archivo de rutas:

 const express = require('express') const router = express.Router() const Model = require('../models/model') const cors = require('cors') router.use(cors()); router.use(express.json()) router.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Methods", "*") next(); }); // Post Method router.post('/post', async (req, res) => { console.log(req.body) const data = new Model({ isFeatured: req.body.isFeatured, path: req.body.path, /* recipe: { ingredients: req.body.recipe.ingredients, amount: req.body.recipe.amount, notes: req.body.recipe.notes } */ }) try { const dataToSave = await data.save() res.status(200).json(dataToSave) } catch (error) { res.status(400).json({ message: error.message }) } }) module.exports = router

¿Alguna idea de lo que podría estar haciendo mal?

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

de @heiko-theißen:

Reemplace los Headers con headers en su comando de fetch . Los Headers se ignoran, por lo que no está enviando Content-Type: application/json y express.json() no entra en acción

Esto lo arregló.

about 4 years ago · Santiago Gelvez 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!