Reputation: 57176
How can I send status and message in express 4.14?
For: res.sendStatus(200);
I get OK on my browser but I want it to display a custom message such as: Success 1
res.sendStatus(200);
res.send('Success 1');
Error:
Error: Can't set headers after they are sent.
If I do this:
res.status(200).send(1);
Error:
express deprecated res.send(status): Use res.sendStatus(status) instead
Any ideas?
Upvotes: 33
Views: 75166
Reputation: 2830
You can use:
res.status(200).send('some text');
if you want to pass number to the send method, convert it to string first to avoid deprecation error message.
the deprecation is for sending status directly inside send.
res.send(200) // <- is deprecated
BTW - the default status is 200, so you can simply use res.send('Success 1'). Use .status() only for other status codes
Upvotes: 80
Reputation: 203286
You shouldn't be getting that last error if you're using that exact code:
res.status(200).send('Success 1')
My guess is that you're not using the string "Success 1" but a numerical variable or value instead:
let value = 123;
res.status(200).send(value);
That would trigger the warning. Instead, make sure that value
is stringified:
let value = 123;
res.status(200).send(String(value));
Upvotes: 11