0
所以我是Node和Express的新手,我正尝试构建一个简单的投票应用程序。我想要做的是得到答案(答案1或答案2),然后更新我的数据库以将answer1(2)_votes
加1。在POST请求中获取表单名称Express JS(使用EJS)
但是,在我可以考虑实现这一点之前,我需要能够确定用户正在回答哪个问题。
此刻,我访问的问题集合,使index.ejs
和渲染功能将结果发送对象,然后我和EJS显示从数据库中的问题和选项的循环:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Voting App</title>
</head>
<body>
<% for(var i = 0; i < result.length; i++) { %>
<form action="/submit-answer" method="POST" id=<%= result[i].question %>>
<div id="question"><%= result[i].question %></div>
<input type="checkbox" name="answer1">
<label for="answer1"><%= result[i].answer1 %></label>
<input type="checkbox" name="answer2">
<label for="answer2"><%= result[i].answer2 %></label>
<button type="submit">Submit</button>
</form>
<%}%>
</form>
</body>
</html>
然后我像这样(用肢体解析器)从形式获取数据
app.post("/submit-answer", (req, res) => {
console.log(req.body);
res.redirect("/");
})
唯一的问题是,这将只返回复选框数据(ANSWER1:或ANSWER2:上)。我还需要result[i].question
数据(或者任何识别问题的方法),以便我可以找到表单响应哪个问题以增加问题的投票数量。
我该怎么做呢?我接近完全错误吗?
您可以在表单中包含“',它不会显示在表单上,但您可以在服务器上找到它 –