如何使用express发送错误代码旁边的字符串?

时间:2013-11-14 01:01:26

标签: node.js http express

因此,当登录无法验证时,我目前正在使用res.send(401)。但是我想发送一段文本或html以及错误代码。

我试过了:

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

但丢了一个错误,我的服务器无法启动。

4 个答案:

答案 0 :(得分:20)

您正在将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');

答案 1 :(得分:7)

来自express docs

中的示例
res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });

答案 2 :(得分:3)

更详细的示例,但即使您尝试渲染模板也能正常工作:

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

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

答案 3 :(得分:0)

res.send(error_code,msg);

已弃用。你应该这样做。

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

<强>更新 对于express v 4.13.4,当你这样做时会抛出错误。

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

说发送后不能设置标题。