2016-07-02 7 views
6

Wie kann ich Status und Nachricht in Express 4.14 senden?Express 4.14 - Wie 200 Status mit einer benutzerdefinierten Nachricht senden?

Für: res.sendStatus (200);

ich in meinem Browser OK, aber ich will es eine benutzerdefinierte Nachricht angezeigt werden, wie: Success 1

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

Fehler:

Error: Can't set headers after they are sent.

Wenn ich this:

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

Fehler:

express deprecated res.send(status): Use res.sendStatus(status) instead

Irgendwelche Ideen?

Antwort

14

können Sie verwenden:

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

wenn Sie Nummer an die Sendemethode übergeben wollen, konvertieren es zuerst String deprecation Fehlermeldung zu vermeiden.

Die Abwertung ist für das Senden von Status direkt in senden.

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

BTW - der Standardstatus 200 ist, so können Sie einfach res.send ('Success 1') verwenden. Verwenden .status() nur für anderen Statuscodes

+0

Sie erhalten 'deprecated res.send express (Status): Verwenden Sie res.sendStatus (Status) instead' meine bearbeiten oben Dank zu sehen. – laukok

+0

Bitte lesen Sie meine Antwort, es wird nur passieren, wenn die Nummer zu senden() –

+0

Sie haben Recht. es war Int 1 statt 'Erfolg 1' – laukok

3

Sie sollen nicht den letzten Fehler bekommen, wenn Sie den genauen Code verwenden sind:

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

Meine Vermutung ist, dass Sie nicht die Verwendung von String "Success 1" aber eine numerische Variable oder ein Wert statt:

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

die würde die Warnung auslösen. Stattdessen stellen Sie sicher, dass value Zeichenfolge ist:

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

hast du recht. es war Int 1 anstelle von 'Erfolg 1' – laukok