Javascript 如何使用jquery、mongoose、ejs和express创建ajax?
我是后端的noob。我正在为我的项目开发一个ajax评论系统。具体来说,我希望为特定的评论添加一个回复函数 这就是我的路线:Javascript 如何使用jquery、mongoose、ejs和express创建ajax?,javascript,jquery,node.js,ajax,mongodb,Javascript,Jquery,Node.js,Ajax,Mongodb,我是后端的noob。我正在为我的项目开发一个ajax评论系统。具体来说,我希望为特定的评论添加一个回复函数 这就是我的路线: router.post("/posts/:id", isLoggedIn, function(req, res) { Post.findById(req.params.id, function(err, post){ if(err){ console.log(err); } else { Comment.create(req.bo
router.post("/posts/:id", isLoggedIn, function(req, res) {
Post.findById(req.params.id, function(err, post){
if(err){
console.log(err);
} else {
Comment.create(req.body.comment, function(err, comment){
if(err){
console.log(err)
} else {
comment.author.id = req.user.id;
comment.author.username = req.user.username;
comment.author.avatar = req.user.avatar;
//Connect new comment to campground
comment.save();
post.comments.push(comment)
post.save()
//Redirect
res.redirect('/posts/' + post._id)
}
})
}
})
对于我的ajax,我有:
$(".commentSubmit").on("click", function(event){
event.preventDefault();
event.stopPropagation();
//Find ID of post
var articleId = $("article").data("id");
//Find Id of the comment which is being replied to
var divParent = $(this).closest(".comment-payload");
$.ajax({
url: "/posts/" + articleId,
type: "POST",
contentType: "application/json"
}).done(function(result){
addComment(result);
})
.fail(function(err) {
console.log(err);
})
var addComment = function (comment) {
var payload = "<div>" + comment + "</div>";
divParent.append(payload);
}
})
$(.commentSubmit”)。在(“单击”上,函数(事件){
event.preventDefault();
event.stopPropagation();
//查找邮件ID
var articleId=$(“article”).data(“id”);
//查找正在回复的评论的Id
var divParent=$(this).closest(“.comment payload”);
$.ajax({
url:“/posts/”+articleId,
类型:“POST”,
contentType:“应用程序/json”
}).完成(功能(结果){
添加评论(结果);
})
.失败(功能(错误){
控制台日志(err);
})
var addComment=函数(注释){
var payload=“”+注释+”;
divParent.append(有效负载);
}
})
在这里,我识别用户正在回复的评论,并在同一个div中添加回复
目前,该准则产生了两个问题(据我所知):
1) 当我按下submit键时,结果会转到预期的div,但整个帖子会被添加为回复。我认为这是因为我对EXPRESS如何发回回复缺乏了解
2) 在我的chrome控制台中,我得到以下信息:“[Deprecation]主线程上的同步XMLHttpRequest被弃用,因为它对最终用户的体验有不利影响。要获得更多帮助,请检查。”我甚至无法理解这意味着什么
我没有添加我的展示模板或模式来保持这篇文章的简短,但如果有必要,我会非常乐意编辑它
任何关于这个noob的提示都将不胜感激 您没有从Ajax Call向服务器发送任何post数据是的,我想我的路线无论如何都会捕获数据,所以我觉得没有必要再次发送数据。。。