1

Noir は、クライアント側の 302 リダイレクトに (応答/リダイレクト "url") を提供します。しかし、Web サーバー自体でリダイレクトする方法は? たとえば、ログインページを書いて、ロギングに失敗した場合、メッセージとともにエラーページにリダイレクトするにはどうすればよいですか?

(defpage [:post "/error"] {:keys [msg]}
  (layout [:h3 "ERROR:"] [:p msg]))

(defpage [:post "/do-login"] {:keys [user pass]}
  (if (match user pass)
    (login-ok)
    (redirect-to-error-page but how to carry msg)))
4

1 に答える 1

0

「render」を使用して新しいページを送信できます。あなたのような例については、 http://webnoir.org/tutorials/formsを参照してください。

(render "/errorpage" msgid)

メッセージは「/errorpage/1001」などの ID として届きます。これは :id 表記で取得できます。使用方法については、@dAni in Noir レンダリング関数で NullPointerException が発生するという回答を参照してください。ページに名前を付けることもできます!

于 2012-10-31T02:47:34.083 に答える