NodeJs Express发送403并渲染

时间:2016-08-10 12:10:10

标签: node.js express

如何发送错误403并呈现包含“您无权访问此页面”消息的页面?

我现在有这个:

res.send(403,"You do not have rights to visit this page");

但我想渲染HTML页面而不是基本文本

res.render('no-rights', {title: 'You have no rights to visit this page', text: 'You are not allowed to visited this page. Maybe you are not logged in?'});

状态为403。

3 个答案:

答案 0 :(得分:11)

http://expressjs.com/en/api.html#res.status

res.status(403);
res.render();

或在一行

res.status(403).render();

答案 1 :(得分:1)

正如您在Express的error handling页面中所看到的,您可以先设置状态,然后再渲染页面。

  res.status(500);
  res.render('error', { error: err });

类似地,我会创建一个页面,通过将状态代码和标题作为参数传递,以类似的方式通知用户4xx(客户端错误)和5xx(服务器错误)错误。

答案 2 :(得分:0)

如果响应是针对 API 调用的,您可以这样做:

res.status(403).json({})