2014-04-02 39 views
0

我對node.js和jade相當陌生。我正在嘗試做一個表單提交,並以某種方式無法獲得正確的綁定。代碼如下所示:無法取得提交表單。綁定不適用

index.jade:

.opinion-form 
     form(name="submitResponse",method="post",action="/submitResponse") 
     .row 
     .col-lg-12.col-md-12 
      input(id="feedbackYes", type="radio", name="feedback",value=1) 
      label(for="feedbackYes") Oh yeah! 
     .row 
     .col-lg-12.col-md-12 
      input(id="feedbackNo", type="radio", name="feedback",value=0) 
      label(for="feedbackNo") Nope, it's not for me. 
     input.btn.btn-primary(type="submit", value="SUBMIT") 
    .row 
     .col-lg-12.col-md-12 

app.js

app.post('/submitResponse', routes.submitResponse(dbClient)); 

index.js

exports.submitResponse = function(dbClient) { 
return function(req, res) { 
    var feedback = req.body.feedback; 
    // save the value to database using the dbClient 
    console.log(feedback); 
    res.render('thankyou') 
    } 
} 

什麼在這個走錯了?

回答

0

其實這個問題是該按鈕是不是在窗體中,這就是爲什麼沒有約束力是它應用。 :(現在修正..

0

先不直接打電話routes.submitResponse()但讓快遞自己打電話。

app.js

app.post('submitResponse',routes.submitResponse); 

然後在路線,如果不想中間件也試圖結束與任何res.jsonres.sendres.render要求你寫它就像一箇中間件那不是案件的方式。它應該是這樣的

index.js

exports.submitResponse=function(req,res,next){ 
res.json(200,req.body); // end response 
} 
+0

我編輯了這個問題來演示實際的代碼,但是它仍然不起作用,請幫我修復它.. –