Run
Run

Reputation: 57176

Express 4.14 - How to send 200 status with a custom message?

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

Answers (2)

Dima Grossman
Dima Grossman

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

robertklep
robertklep

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

Related Questions