/ / NodeJs Express wysyła 403 i renderuje - node.js, express

NodeJs Express wysyła 403 i renderuje - node.js, express

Jak mogę wysłać błąd 403 i renderować stronę z komunikatem „nie masz uprawnień do odwiedzania tej strony”?

Mam teraz to:

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

ale chcę renderować stronę HTML zamiast zwykłego tekstu

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?"});

ze statusem 403.

Odpowiedzi:

7 dla odpowiedzi № 1

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

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

Lub w jednej linii

res.status(403).render();

0 dla odpowiedzi nr 2

Jak widać w obsługa błędów stronę Express możesz najpierw ustawić status, a następnie renderować stronę.

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

podobnie stworzyłbym stronę, która mogłaby informować użytkownika o błędach 4xx (błąd klienta) i 5xx (błąd serwera) w podobny sposób, przekazując kod statusu i tytuł jako parametry.