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

244
Views
código: 'ERR_HTTP_HEADERS_SENT' } error - uncaughtException: Error [ERR_STREAM_WRITE_AFTER_END]: escribir después del final

Estoy tratando de enviar una solicitud al servidor para guardar una publicación. Estoy usando Nextjs y cada vez que intento enviarlo me da este error [ERR_HTTP_HEADERS_SENT]: no se pueden establecer encabezados después de que se envían al cliente.

Aquí está mi código

 Post.js async function uploadPost(post) { const response = await fetch('/api/savePost', { method: 'POST', body: post, }); if(!response.ok) { throw new Error('Failed to post') } return await response.json();

}

 savePost.js export const config = { api: { bodyParser: false, }, } export default const post = async (req, res) => { if (req.method !== 'POST') { return res.status(405).json({ message: 'Method not allowed' }) } // const postData = JSON.parse(req.body); const savedPost = await prisma.post.create({ data: req.body }); res.status(200).json({message: 'Post saved successfully'}) res.json(savedPost) };

Estoy usando Prisma para la base de datos. Me sale este error.

 Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at new NodeError (node:internal/errors:371:5) at ServerResponse.setHeader (node:_http_outgoing:576:11) at NodeNextResponse.setHeader (C:\Users\user\Documents\My Received Files\js\twitter-clone\node_modules\next\dist\server\base-http\node.js:56:19) at DevServer.renderError (C:\Users\user\Documents\My Received Files\js\twitter-clone\node_modules\next\dist\server\base-server.js:1134:17) at DevServer.renderError (C:\Users\user\Documents\My Received Files\js\twitter-clone\node_modules\next\dist\server\next-server.js:493:22) at DevServer.run (C:\Users\user\Documents\My Received Files\js\twitter-clone\node_modules\next\dist\server\dev\next-dev-server.js:452:35) at async DevServer.handleRequest (C:\Users\user\Documents\My Received Files\js\twitter-clone\node_modules\next\dist\server\base-server.js:307:20) { code: 'ERR_HTTP_HEADERS_SENT' } error - uncaughtException: Error [ERR_STREAM_WRITE_AFTER_END]: write after end
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

 res.status(200).json({message: 'Post saved successfully'}) res.json(savedPost)

Aquí envías 2 mensajes de vuelta. Ambos con código 200. Esto es lo que significa "escribir después de enviar".

El primer conjunto de mensajes es el encabezado y va hacia atrás.

Luego, después de eso, intenta hacerlo nuevamente, pero el encabezado ya está enviado.

// res.json() es igual a res.status(200).json()

// Puede fusionar res.status(200).json({mensaje: 'Publicación guardada con éxito', SavedPost: SavedPost})

about 4 years ago · Juan Pablo Isaza 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!