そのため、ログインの検証に失敗すると、現在 res.send(401) で応答しています。ただし、テキストまたは HTML のスニペットをエラー コードと共に送信したいと考えています。
私はこれを試しました:
res.write('string');
res.send(401);
しかし、エラーが発生し、サーバーが起動しませんでした。
Express メソッドとネイティブ HTTP メソッドを混在させています。Express は内部でネイティブ HTTP モジュールを使用するため、どちらかを使用する必要があります。
// Express
res.status(401);
res.send('string');
// or the shortcut method
res.send(401, 'string');
// HTTP
res.writeHead(401);
res.end('string');
エクスプレスドキュメントの例から
res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });
もう少し冗長な例ですが、テンプレートをレンダリングしようとしても機能します:
res.status(401).send('Unauthorized')
また
res.status(401).render('/401.html')
res.send(error_code,msg);
廃止されました。代わりにこれを行う必要があります。
res.status(error_code).send(msg);
更新: Express v 4.13.4 の場合、これを行うとエラーがスローされます。
res.status(error_code).send(msg);
送信後にヘッダーを設定できないと言っています。