2012-10-31 2 views
1

Noir은 클라이언트 측 302 리디렉션을 제공합니다 ("url"응답/리디렉션). 그러나 웹 서버 내에서 자체를 리디렉션하는 방법은 무엇입니까? 예를 들어 로그인 페이지 작성, 로깅 실패시 메시지와 함께 오류 페이지로 리디렉션하는 방법은 무엇입니까?서버에서 noir로 리디렉션하는 방법은 무엇입니까?

(render "/errorpage" msgid) 

메시지는,의 ID로 전자 도착 :

(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))) 

답변

0

당신은 많은 당신과 같은 예를 들어 http://webnoir.org/tutorials/forms를 참조하십시오 '렌더링'를 사용하여 새 페이지를 보낼 수 있습니다. 지. "/ errorpage/1001"은 : id 표기법으로 선택할 수 있습니다. 사용 방법은 @dAni에서 Noir render function causes NullPointerException의 대답을 참조하십시오. 페이지의 이름을 지정할 수도 있습니다.

+0

나는 렌더링을 시도했지만 이전 페이지의 URL이있는 다른 페이지 만 보여줍니다. 서버에서 리디렉션이 가능합니까? – qiuxiafei

+0

나는 본다. 아니, 나는 그것을 모른다. – 0dB

+1

@qiuxiafei : URL을 브라우저에서 업데이트하려면 클라이언트 쪽 방향 전환을 수행해야합니다. 서버 쪽 리다이렉션은 로그인 페이지 요청에 대한 응답 일 뿐이므로 브라우저에 새 URL을 알릴 방법이 없습니다 – Ankur

관련 문제