18

そのため、ログインの検証に失敗すると、現在 res.send(401) で応答しています。ただし、テキストまたは HTML のスニペットをエラー コードと共に送信したいと考えています。

私はこれを試しました:

res.write('string');
res.send(401);

しかし、エラーが発生し、サーバーが起動しませんでした。

4

4 に答える 4

31

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');
于 2013-11-14T01:13:41.080 に答える
12

エクスプレスドキュメントの例から

res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });
于 2013-11-14T01:04:59.490 に答える
3

もう少し冗長な例ですが、テンプレートをレンダリングしようとしても機能します:

res.status(401).send('Unauthorized')

また

res.status(401).render('/401.html')

于 2013-11-15T08:44:09.213 に答える
0
res.send(error_code,msg);

廃止されました。代わりにこれを行う必要があります。

res.status(error_code).send(msg);

更新: Express v 4.13.4 の場合、これを行うとエラーがスローされます。

res.status(error_code).send(msg);

送信後にヘッダーを設定できないと言っています。

于 2016-03-04T07:02:37.723 に答える