我对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.json
或res.send
或{{1}结束请求}}。它应该是这样的
res.render
index.js
答案 1 :(得分:0)
实际上问题是按钮不在表单内部,这就是没有对它应用绑定的原因。 JADE及其缩进.. :(。现在修复..