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

295
Views
Error: no se pueden establecer encabezados después de enviarlos

La consulta se ejecutó correctamente pero el servidor se cerró y da el siguiente error

 Error: Can't set headers after they are sent. at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:356:11)

Como lo encuentro, envíe la respuesta por bucle, esa es la razón principal. Entonces, ¿mi pregunta es cómo enviar la respuesta después de completar el ciclo?

 var addVenueAmenities = function(req, res) { var post={ venue_id:req.params.venue_id, amenitie:req.body.amenitie } for(i=0;i<post.amenitie.length;i++){ data={ venue_id:post.venue_id, amenitie:post.amenitie[i] } var query = "INSERT INTO ?? SET ?"; var table = ["venue_amenities"]; query = mysql.format(query,table); connection.query(query, data, function(err,rows){ if(err) { res.json({"Error" : true, "Message" : "Error executing MySQL query"}); } else { res.json({"Error" : false, "Message" : "Amenitie added successfully"}); } }); } } module.exports= addVenueAmenities;
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Está ejecutando for loop y enviando la respuesta una y otra vez causando este problema.

 for (i = 0; i < post.amenitie.length; i++) { if (err) { res.json({"Error": true, "Message": "Error executing MySQL query"}); } else { res.json({"Error": false, "Message": "Amenitie added successfully"}); } }

Puede usar la biblioteca asíncrona como se muestra a continuación

 async.map(post.amenitie,function (amenitie,callback) { var data= { venue_id:post.venue_id, amenitie:amenitie[i] } var query = "INSERT INTO ?? SET ?"; var table = ["venue_amenities"]; query = mysql.format(query,table); connection.query(query, data, function(err,rows){ callback(err); }); },function (err,result) { if(err) res.json({"Error" : true, "Message" : "Error executing MySQL query"}); else res.json({"Error" : false, "Message" : "Amenitie added successfully"}); });
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!