Saltar al contenido

¿Cómo enviar un mensaje de estado http personalizado en node/express?

Revisamos cada sección de nuestra web con el objetivo de mostrarte siempre información certera y certera.

Solución:

Ninguna de las respuestas existentes logra lo que solicitó originalmente el OP, que es anular el valor predeterminado Razón-Frase (el texto que aparece inmediatamente después del código de estado) enviado por Express.

lo que quieres es res.statusMessage. Esto no es parte de Express, es una propiedad del objeto http.Response subyacente en Node.js 0.11+.

Puede usarlo así (probado en Express 4.x):

function(req, res) 
    res.statusMessage = "Current password does not match";
    res.status(400).end();

Entonces usa curl para comprobar que funciona:

$ curl -i -s http://localhost:3100/
HTTP/1.1 400 Current password does not match
X-Powered-By: Express
Date: Fri, 08 Apr 2016 19:04:35 GMT
Connection: keep-alive
Content-Length: 0

Puedes comprobar esto res.send(400, 'Current password does not match')
Mire los documentos express 3.x para más detalles

ACTUALIZACIÓN para Expressjs 4.x

Úselo de esta manera (consulte los documentos express 4.x):

res.status(400).send('Current password does not match');
// or
res.status(400);
res.send('Current password does not match');

En el lado del servidor (Middleware Express):

if(err) return res.status(500).end('User already exists.');

Manejar en el lado del cliente

Angular:-

$http().....
.error(function(data, status) 
  console.error('Repos error', status, data);//"Repos error" 500 "User already exists."
);

jQuery: –

$.ajax(
    type: "post",
    url: url,
    success: function (data, text) 
    ,
    error: function (request, status, error) 
        alert(request.responseText);
    
);

Puntuaciones y comentarios

Agradecemos que quieras añadir valor a nuestro contenido informacional participando con tu experiencia en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *