因此,当登录验证失败时,我目前使用 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);
说您在发送后无法设置标题。