2016-07-02 9 views
6

Jak mogę wysłać status i wiadomość w trybie ekspresowym 4.14?Express 4.14 - Jak wysłać status 200 z niestandardową wiadomością?

Dla: res.sendStatus (200);

mam OK w przeglądarce, ale chcę, żeby wyświetlić komunikat niestandardowy, takie jak: Success 1

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

Błąd:

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

Jeśli robię this:

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

Błąd:

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

Wszelkie pomysły?

Odpowiedz

14

Można użyć:

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

jeśli chcesz przekazać numer metody wysyłania, przekonwertować go na ciąg pierwszy, aby uniknąć komunikatu o błędzie amortyzację.

to wycofanie służy do wysyłania statusu bezpośrednio w wysyłce.

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

BTW - stan domyślny jest 200, więc może po prostu użyć res.send ('Success 1'). Zastosowanie .status() tylko dla innych kodów stanu

+0

dostaniesz 'wyrazić przestarzałej res.send (status): Użyj res.sendStatus (status) instead' zobaczyć moją zmienił powyższy podziękowania. – laukok

+0

Proszę przeczytać moją odpowiedź, To się wydarzy tylko wtedy, gdy przekazanie numeru do wysłania() –

+0

masz rację. to był int 1 zamiast "sukces 1" – laukok

3

Nie powinno być coraz to ostatni błąd, jeśli używasz tego dokładnie kod:

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

Domyślam się, że nie używasz ciąg „Sukces 1” ale zmienna liczbowa lub wartość zamiast:

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

To byłoby wywołać ostrzeżenie. Zamiast tego, upewnij się, że value jest stringified:

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

masz rację. to był int 1 zamiast "sukces 1" – laukok

Powiązane problemy