POST表单未正确提交。 (NodeJS和Express)

时间:2018-08-30 02:35:22

标签: node.js express

我正在创建一个网站,用户可以在其中创建帖子,评论,投票等。我已经完成了显示和创建帖子的工作,但是,在提交新评论时遇到了一些麻烦。

这是应该输出的代码:

<p>
    <a href="/posts/<%=post._id%>/comments/new">Add new comment</a>
</p>
<p><%=post.title%></p> 
<p><%=post.description%></p> 

<% post.comments.forEach(function(comment){ %>
    <p><%=comment.author%> - <%=comment.text%></p>
<% }); %>

代码工作正常;但是,提交评论时,提交的唯一内容是 <%= comment.author%> <%comment.text%> 之间的“-”

这是应该提交新评论的表格

<h1>Create a new comment to <%=post.title%></h1>

<form action="/posts/<%=post._id%>/comments" method="POST">
    <input type="text" name="comment[text]" placeholder="text">
    <input type="text" name="comment[author]" placeholder="text">
    <button>Submit</button>
</form>

这是app.js文件中的相关代码:

app.get("/posts/:id/comments/new", function(req, res){
    Post.findById(req.params.id, function(err, post){
        if (err){
            console.log(err);
        } else {
            res.render("comments/new", {post: post});
        }   
    });
});

app.post("/posts/:id/comments", function (req, res){
    Post.findById(req.params.id, function(err, post){
        if(err){
            console.log(err)
            redirect("/posts");
        } else{ 
            Comment.create(req.body.Comment, function(err, comment){
                if (err){
                    console.log(err);
                } else{
                    post.comments.push(comment);
                    post.save();
                    res.redirect("/posts/" + post._id);
                }
            });
        }
    });
});

如果有人能够帮助我,将不胜感激。非常感谢您的宝贵时间。

0 个答案:

没有答案