这是我的HTML表单:
<form id="task-form" action="/mytask" method="POST">
<input type="text" name="name" placeholder="name of task" />
<input type="text" name="description" placeholder="description" />
<input type="submit" />
</form>
我想将数据存储到MongoDB中,该代码可以与以下代码配合使用。不幸的是,单击按钮后我当然可以看到JSON。
app.post("/mytask",urlencodedParser,(req,res) => {
const task = new Task(req.body);
task
.save()
.then(() => {
res.send(task);
})
.catch(e => {
res.status(400).send(e);
});
});
我还想呈现一个感谢页面,其中包含来自request.body
的信息。这也可以。
app.post("/mytask",res) => {
res.render("thankyou",{
name: req.body.name,description: req.body.description
});
});
但是我都想做。存储数据并呈现另一个页面,就像这样。
app.post("/mytask",res) => {
const task = new Task(req.body);
task
.save()
.then(() => {
res.send(task);
})
.catch(e => {
res.status(400).send(e);
});
res.render("thankyou",{
name: req.body.name,description: req.body.description
});
});
这似乎是不可能的。错误如下:
[ERR_HTTP_HEADERS_SENT]: C:\ Users \ User \ Desktop \ MyExpressApp \ views \ thankyou.hbs:无法设置 标头发送到客户端后
我该如何解决?