2016-07-02 7 views
6

速達4.14でステータスとメッセージを送信するにはどうすればよいですか?Express 4.14 - カスタムメッセージで200ステータスを送信するにはどうすればいいですか?

について: res.sendStatus(200);

私は私のブラウザ上でOK得るが、私はそれのようなカスタムメッセージを表示したい:私はthisを行う場合

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

成功1

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

エラー

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

エラー:

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

答えて

14

あなたは使用することができます。

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

あなたはsendメソッドに番号を渡したい場合は、非推奨のエラーメッセージを避けるために、最初の文字列に変換します。

廃止予定はsend内で直接ステータスを送信するためのものです。

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

ところで - デフォルトのステータスが200であるので、あなたは、単にres.send( '成功1')を使用することができます。 使用.status()のみ、他のステータスコード

ため
+0

あなたは '得る非推奨res.send(ステータス)を発現します:使用res.sendStatus(ステータス)のおかげで上記の私の編集を参照してくださいinstead'。 – laukok

+0

私の応答を読んでください、それは() –

+0

を送信する番号を渡すときに起こるだけあなたは正しいです。助けてくれてありがとう!それはint 1でした。成功の代わりに – laukok

3
あなたはその正確なコードを使用している場合は、その最後のエラーを取得してはならない

は:

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

私の推測では、あなたが使用していないということです警告をトリガすることを

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

:文字列「成功1」ではなく、数値変数または値。その代わり、valueを文字列化されていることを確認してください:

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

あなたは正しいです。それは '成功1'の代わりにint 1だった – laukok

関連する問題