如何发送错误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。
答案 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({})