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

484
Views
¿Cómo establecer el tipo de contenido al hacer res.send ()?

Al final de la función de ruta, cuando hago algo como esto.

 res.send(JSON.stringify({...}));

Me gustaría que el tipo de contenido de la respuesta se establezca como "texto/sin formato", pero es "texto/html". ¿Hay alguna forma de configurarlo explícitamente? Busco en el documento pero aún no tengo ninguna pista.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

setHeader antes de enviar: https://nodejs.org/api/http.html#http_response_setheader_name_value

 res.setHeader('content-type', 'text/plain'); res.send(JSON.stringify({...}));
over 4 years ago · Santiago Trujillo Report

0

Hay algunas formas de lograr esto, la más limpia/simple de las cuales es probablemente (asumiendo el uso de express , según la etiqueta; vea la opción de respuesta final si no usa expressjs):

 res.type('txt'); res.send(JSON.stringify({...}));

Eso es usar res.type , que brinda una serie de abreviaturas, además de poder establecer tipos mimo explícitos, por ejemplo (entre muchos otros):

 res.type('.html') // => 'text/html' res.type('html') // => 'text/html' res.type('json') // => 'application/json' res.type('application/json') // => 'application/json' res.type('png') // => 'image/png' res.type('mp3') // => 'audio/mp3'

A partir de este escrito, esto se implementa en términos de res.set , que también podría llamarse directamente:

 res.set('content-type', 'text/plain'); res.send(JSON.stringify({...}));

Estas son las formas oficialmente documentadas de realizar esta funcionalidad (excepto que también res.header es un alias para res.set ). Sin embargo, parece que los objetos de respuesta se derivan de http.ServerResponse y, por lo tanto, también tienen (y usan , en la implementación) el método setHeader de eso, que tiene el mismo uso que res.set , sin la misma funcionalidad. como res.set (algunas comprobaciones no se realizan, etc.) ... Pero hace el trabajo básico, por lo que es muy posible que uno pueda encontrar un código en la naturaleza que resolvería los objetivos de esta pregunta como (especialmente si no es una aplicación express, sino que usa el paquete http en su lugar):

 res.setHeader('Content-Type', 'text/plain'); res.send(JSON.stringify({...}));

(Como nota al margen: según RFC 7230 (anteriormente en RFC 2616 ), los nombres de los encabezados distinguen entre mayúsculas y minúsculas. Dicho esto, el Content-Type mayúsculas es lo que se usa en RFC 7231 , que define su significado y uso, y es lo que res.type usará Dicho esto, he visto al menos algunos ejemplos de res.set que se usan con nombres de encabezado en minúsculas, así que pensé en mostrar que ambos son posibles).

over 4 years ago · Santiago Trujillo Report

0

Puede probar res.set para establecer un encabezado Content-Type , así:

 res.set('content-type', 'text/plain'); res.send(JSON.stringify({...}));
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!