2013-06-22 3 views
1

Express 및 옥 템플릿으로 HTML 양식 데이터를 처리하는 모범 사례 코드 패턴이 있습니까? 폼 템플릿의 자체 호출 루프와 같은 PHP를 사용하는 것이 합당한 지 궁금 해서요. 라우터 스크립트에서 동일한 경로에 대해 두 핸들러가 있어야합니다. 하나는 GET 용이고 다른 하나는 POST 요청 용입니다. 같은 뭔가 :node, express, jade : 양식 데이터 처리 방법

exports.getHandler = function(req, res){ 
    res.render('/formhandling/', {mode: "form-filling"}); 
} 

exports.postHandler = function(req, res){ 
    res.render('/formhandling/', {mode: "form-processing"}); 
} 

과 옥 템플릿은 어떤 의미를하거나 내가 완전히 잘못 뭔가를 얻을 않았다

extends layout 

block content 

    h1 #{title} 

    if mode == "form-processing" 
    p Form data processed... 

    else 
    form(name="", method="post", action="/formhandling/") 
    ... 

하는 것처럼 보일 수 있습니다?

답변

0

응답을 다시 렌더링하는 대신 jQuery를 사용하여 사용자가 제출 한 양식을 숨길 수 있다고 생각합니다. 서버 측에서 양식 처리를 원하면 app.js에서 처리 할 수 ​​있습니다.

app.get('/', routes.form); 
app.post('/', function(res,req){ 
    /* form processing here 
     you could also do this with an external route */ 
}); 

편집 : 또한, 응답 @iheartramen에 대한 see my answer on this question

+0

Thnx, 응답 @iheartramen에 대한 – Bunjip

+0

Thnx, 나는 당신 말이 맞아 확신합니다. node.js 뒤에있는 philosohpy를 훨씬 더 깊이 탐험해야한다는 것을 알고 있습니다. 답을 생각하면서 더 많은 질문이 제기됩니다. 양식 요소를 미리 채우는 방법, 양식 데이터가 부분적으로 잘못되었지만 올바른 부분이 양식에 남아 있어야하는 경우 ...? – Bunjip

+0

당신이하는 일에 따라 실제로 node.js 질문이 아닐 수도 있습니다. 이 [this article] (http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/)을 확인하십시오. 클라이언트 쪽에서도 양식의 유효성을 검사하여 유효하지 않은 경우 사용자가 양식을 제출할 수 없으며 일반적으로 이미 입력 한 데이터를 미리 채우지 않는 것이 좋습니다. 또한, 위의 내 대답 편집을 참조하십시오. – Smitha

관련 문제