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

243
Views
No se puede establecer el encabezado después de que ya se haya enviado // nodo express

Aparece un mensaje que indica que no se pueden configurar encabezados después de que ya se hayan configurado. Mi intercepción de código para el método de colocación enviado en la URL, luego verifica la identificación faltante, luego verifica si ningún campo ingresado no está definido, luego realiza el método de captura de prueba dentro del cual se actualiza para la identificación dada. Si la identificación no es correcta, responde con un error. mi código es:

 .put(async function (req, res){ console.log(req.body._id + " is id.") const {_id, issue_title, issue_text, created_by, assigned_to, status_text, open} = req.body; if(!_id){ res.json({error: "missing _id"}) } const fields = {issue_title, issue_text, created_by, assigned_to, status_text, open} const checkAllUndefined = Object.values(fields).every(val => (val == undefined || val == '')? true: false) if(checkAllUndefined){ res.json({ error: 'no update field(s) sent', _id}) } else{ try{ await db.findOneAndUpdate({_id: new mongodb.ObjectID(_id)}, {$set: {issue_title,issue_text,created_by, assigned_to, status_text, open, updated_on: new Date()}}, { new: true, omitUndefined: true }) res.json({ result: 'successfully updated', _id}) }catch(err){ res.json({ error: 'could not update', _id}) } } })
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

¡Su primera instrucción If está devolviendo la respuesta si _id no está definido!

 if(!_id){ res.json({error: "missing _id"}) }

¡Después de enviar esta respuesta, se ejecuta el siguiente bloque if o su bloque else, lo que lleva a enviar otra respuesta que no es posible o no está permitida! Tienes que anidar el bloque if else como este

   

    put(función asíncrona (req, res) {
    console.log(req.body._id + " es id.")
    const {_id, título_problema, texto_problema, creado_por, asignado_a, texto_estado, abierto} = req.cuerpo;
    si yo d) {
        res.json({error: "falta _id"})
    } más {
        si (marcarTodosIndefinidos) {
            res.json({error: 'no se enviaron campos de actualización', _id})
        } más {
            probar {
                esperar db.findOneAndUpdate({_id: nuevo mongodb.ObjectID(_id)}, {
                    $establecer:
                        {
                            título_problema, texto_problema, creado_por, asignado_a, texto_estado, abierto,
                            actualizado_en: nueva Fecha()
                        }
                }, {
                    nuevo: cierto,
                    omitir indefinido: verdadero
                })
                res.json({resultado: 'actualizado con éxito', _id})
            } atrapar (err) {
                res.json ({error: 'no se pudo actualizar', _id})
            }
        }
      }
    )
    }

al hacer esto, solo está enviando la respuesta una sola vez.

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!