web-dev-qa-db-fra.com

Express 4.14 - Comment envoyer un statut 200 avec un message personnalisé?

Comment envoyer l'état et le message en express 4.14?

Pour: res.sendStatus (200);

Je vais bien sur mon navigateur mais je veux qu'il affiche un message personnalisé tel que: Succès 1

res.sendStatus(200);
res.send('Success 1');

Erreur:

Erreur: impossible de définir les en-têtes après leur envoi.

Si je le fais this :

res.status(200).send(1);

Erreur:

express obsolète res.send (status): utilisez plutôt res.sendStatus (status)

Des idées?

19
laukok

Vous pouvez utiliser:

res.status(200).send('some text');

si vous souhaitez transmettre un numéro à la méthode d'envoi, convertissez-le d'abord en chaîne pour éviter le message d'erreur de dépréciation.

la dépréciation est pour envoyer le statut directement dans send.

res.send(200) // <- is deprecated

BTW - l'état par défaut est 200, vous pouvez donc simplement utiliser res.send ('Success 1'). Utilisez .status () uniquement pour les autres codes d'état

40
Dima Grossman

Vous ne devriez pas obtenir cette dernière erreur si vous utilisez ce code exact:

res.status(200).send('Success 1')

Je suppose que vous n'utilisez pas la chaîne "Success 1" mais une variable ou une valeur numérique à la place:

let value = 123;
res.status(200).send(value);

Cela serait déclencher l'avertissement. Au lieu de cela, assurez-vous que value est chaîne:

let value = 123;
res.status(200).send(String(value));  
4
robertklep